Pascal 在国际象棋上放米粒,第一格放1粒,第二格放2粒,第三格放4粒……,以此类推,计算棋盘公放多少粒米用循环和累加
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/07 20:43:54
Pascal 在国际象棋上放米粒,第一格放1粒,第二格放2粒,第三格放4粒……,以此类推,计算棋盘公放多少粒米用循环和累加
Pascal 在国际象棋上放米粒,第一格放1粒,第二格放2粒,第三格放4粒……,以此类推,计算棋盘公放多少粒米
用循环和累加
Pascal 在国际象棋上放米粒,第一格放1粒,第二格放2粒,第三格放4粒……,以此类推,计算棋盘公放多少粒米用循环和累加
高精度乘法和加法
结果是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.
解 第64个格子,应该底数是2,指数63,所以为263;
(1)设x=1+2+22+…+263 ①.等式两边同时乘以2,得2x=2+22+23+…+264 ②②-①,得x=264-1.
10的19次方
这个很明显是这么算的
1+2+2^2+2^3+……2^63
2^64-1
设x=1+2+2′2+…+2′63 ①.等式两边同时乘以2,得2x=2+2′2+2′3+…+2′64 ②②-①,得x=2′64-1.答:国王输给阿基米德的米粒数为2′64-1