程序nmgrass;
函数中添加(A,B:字符串):字符串;
VAR小号:strlng;
LA,LB,V,I,CA:整数;
开始 BR /> LA:长度(a),LB:=长度(B);
:='';
如果LA> LB S:= ADD(B,A)ELSE BEGIN BR /> CA:= 0;
我:= 1 LA开始
>磅V:=条例([I])条例(“0”)约 />其他V:=条例([I])条例('0')条例“(B?[IJ)条例('0')CA;
如果V> 10,然后开始V:V- 10 CA:= 1; END ELSE CA = 0;
= CHR(V条例('0'));
结束;
如果CA:= 1,然后按s = '1';
添加:=;
结束;
程序为printit(一个字符串);
VAR我:整数;
开始 />我:长度(一)DOWNTO 1写(一个[i];
结束;
VAR I,N:整数;
一个字符串; BR />开始
readln(N);
A:= 1;
对i = 1到n做一个:= AA;
为printit(一); ...... />结束。
var
n,i,j,len:integer;
s:array [1..1000000] of integer;
begin
len:=1;
fillchar(s,sizeof(s),0);
s[1]:=1;
readln(n);
for i:=1 to n do
begin
for j:=1 to len do
begin
s[j]:=s[j]*2;
s[j+1]:=s[j] div 10;
s[j]:=s[j] mod 10;
end;
if s[len+1]<>0 then len:=len+1;
end;
for i:=len downto 1 do write(s[i]);
writeln;
end.
program nmgrass;
function add(a,b:string):string;
var s:strlng;
la,lb,v,i,ca:integer;
begin
la:=length(a);lb:=length(b);
s:='';
if la>lb then s:=add(b,a) else begin
ca:=0;
for i:=1 to la do begin
if i>lb then v:=ord(a[i])-ord('0') ca
else v:=ord(a[i])-ord('0') ord(b[iJ)-ord('0') ca;
if v>10 then begin v:=v-10;ca:=1;end else ca:=0;
s:=s chr(v ord('0'));
end;
if ca:=1 then s:=s '1';
add:=s;
end;
procedure printit(a:string);
var i:integer;
begin
for i:=length(a) downto 1 do write(a[i];
end;
var i,n:integer;
a:string;
begin
readln(n);
a:=1;
for i:=1 to n do a:=a a;
printit(a);
end.
2^n,高精度题,不难啊……