高精度乘法函数版

 

const mx=300;
var a:array[1..mx] of longint;
    i,j:longint;
procedure multi(n:longint);
var i:longint;
begin
    for i:=1 to mx do a[i]:=a[i]*n;
    for i:=1 to mx-1 do
    begin
        inc(a[i+1],a[i] div 10);
        a[i]:=a[i] mod 10;
    end;
end;
procedure print;
var i,j:longint;
begin
    for i:=mx downto 1 do
        if a[i]>0 then break;
    for j:=i downto 1 do write(a[j]);
    writeln;
end;


begin
    a[1]:=1;
    for i:=1 to 100 do multi(2);//1267650600228229401496703205376
    print;
end.

 

posted @ 2015-07-09 23:20  qilinart  阅读(322)  评论(0编辑  收藏  举报