作业帮 > 综合 > 作业

关于pascal计算2^n……(1

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/04/29 04:59:42
关于pascal计算2^n……(1
关于pascal计算2^n……(1
Var a,b,c:Array[1..201]Of word; i,j,k,m,n,p,t:Longint; Begin Readln(p);Writeln(Trunc(Ln(2)/Ln(10)*p)+1); k:=0; repeat inc(k); a[k]:=p mod 2; p:=p div 2 until p=1; b[1]:=2;n:=1; for m:=k downto 1 do begin fillchar(c,sizeof(c),0); for i:=1 to n do for j:=1 to n do begin if i+j-1>200 then break; t:=i+j-1; inc(c[t],b[i]*b[j]); inc(c[t+1],c[t] div 10); c[t]:=c[t]mod 10; end; if a[m]=1 then begin b:=c;fillchar(c,sizeof(c),0); for i:=1 to t do begin c[i]:=c[i]+b[i]*2; if c[i]>9 then begin inc(c[i+1]);c[i]:=c[i]mod 10 end; end; end; n:=t+1;b:=c end; For i:=200 Downto 1 Do Begin Write(c[i]); If i Mod 50=1 Then Writeln End; end. 这类似于NOIP2003 第三道 “麦森数”
麻烦采纳,谢谢!