Pagini recente » Cod sursa (job #573080) | Cod sursa (job #1861753) | Cod sursa (job #1263868) | Cod sursa (job #1606840) | Cod sursa (job #190156)
Cod sursa(job #190156)
var dim,n,putere,nou,rest,i,k,j,x,inv,aux,r,cif:longint;
rez,rez2:array[1..10000] of integer;
rez1:array[1..3] of byte;
f:text;
begin
assign(f,'patrate2.in');reset(f);
read(f,n);
close(f);
putere:=0;
dim:=1;
rez[dim]:=1;
repeat
rest:=0;
for i:=1 to dim do begin
nou:=rez[i]*2+rest;
rest:=nou div 10;
rez[i]:=nou mod 10;
end;
if rest<>0 then begin
inc(dim);
rez[dim]:=rest;
end;
inc(putere);
until putere=n*n;
for i:=1 to dim div 2 do begin
aux:=rez[i];
rez[i]:=rez[dim-i+1];
rez[dim-i+1]:=aux;
end;
inv:=0;
x:=n;
repeat
r:=x mod 10;
inv:=inv*10+r;
x:=x div 10;
until x=0;
i:=1;
cif:=0;
repeat
inc(cif);
rez1[i]:=inv mod 10;
inc(i);
inv:=inv div 10;
until inv=0;
k:=0;
for j:=cif downto 1 do begin
for i:=dim downto 1 do begin
rez2[dim-i+1+k]:=rez2[dim-i+1+k]+rez[i]*rez1[j];
end;
inc(k);
end;
for i:=1 to cif+dim-2 do
if rez2[i] div 10<=10 then begin
rez2[i+1]:=rez2[i+1]+(rez2[i] div 10);
rez2[i]:=rez2[i] mod 10;
end;
assign(f,'patrate2.out');rewrite(f);
for i:=cif+dim-1 downto 1 do
write(f,rez2[i]);
close(f);
end.