高精度乘法和加法
结果是2^64-1
program jj;
var la,lb,lc,x,i,j : longint;
a,b,c : array [1..1000] of longint;
n,m : string;
begin
str(maxlongint,n);str(maxlongint,m)
la := length(n); lb := length(m);
for i := 1 to la do a[la-i+1] := ord(n[i])-48;
for i := 1 to lb do b[lb-i+1] := ord(m[i])-48;
for i := 1 to la do
begin
x : =0;
for j := 1 to lb do
begin
x := a[i]*b[j]+x div 10+c[i+j-1];
c[i+j-1] := x mod 10;
end;
c[i+j] := x div 10;
end;
lc := i+j;
while (c[lc]=0) and (lc>1) do lc := lc-1;
for i := lc downto 2 do
write(c[i]);
writeln(5);
end.
设x=1+2+2′2+…+2′63 ①.等式两边同时乘以2,得2x=2+2′2+2′3+…+2′64 ②②-①,得x=2′64-1.答:国王输给阿基米德的米粒数为2′64-1
解 第64个格子,应该底数是2,指数63,所以为263;
(1)设x=1+2+22+…+263 ①.等式两边同时乘以2,得2x=2+22+23+…+264 ②②-①,得x=264-1.
这个很明显是这么算的
1+2+2^2+2^3+……2^63
2^64-1
10的19次方