• 高精度乘法和阶乘(转)


    一、高精度乘法基本思想和加法一样。其基本流程如下:

    ①读入被乘数s1,乘数s2  
    ②把s1、s2分成4位一段,转成数值存在数组a,b中;记下a,b的长度k1,k2;  
    ③i赋为b中的最低位;  
    ④从b中取出第i位与a相乘,累加到另一数组c中;(注意:累加时错开的位数应是多少位
    ?)  
    ⑤i:=i-1;检测i值:小于k2则转⑥,否则转④  
    ⑥打印结果  

    例:程序下载

    program chengfa;
    const n=100;
    type ar=array [1..n] of integer;
    var  a,b:ar; k1,k2,k:integer;
        c:array [1..200] of integer;
        s1,s2:string;
    procedure fenge(s:string;var d:ar; var kk:integer);
    var ss:string;
       i,code:integer;
    begin
        i:=length(s);
        kk:=n;
        repeat
              ss:=copy(s,i-3,4);
              val(ss,d[kk],code);
              kk:=kk-1;
              s:=copy(s,1,i-4);
              i:=i-4;
        until i<0;
    kk:=kk+1;
    end;
    procedure daying;
    var i:integer;
    begin
    write(c[k]);
    for i:=k+1 to 2*n do begin
    if c[i]<1000 then write('0');
    if c[i]<100 then write('0');
    if c[i]<10 then write('0');
    write(c[i]);
    end;
    writeln;
    end;
    begin
    init;
    jisuan;
    daying;
    end.
  • 相关阅读:
    进程同步&&进程互斥
    CHAP4 字符串和格式化输入输出
    记录学习到的内容
    数据链路层 差错控制
    二叉树的顺序存储
    Java复习笔记
    Stream流
    函数式接口
    网络编程
    接口,多态,抽象类总结
  • 原文地址:https://www.cnblogs.com/zhuor/p/306437.html
Copyright © 2020-2023  润新知