Pagini recente » Cod sursa (job #45383) | Cod sursa (job #710653) | Cod sursa (job #1811522) | Cod sursa (job #2266327) | Cod sursa (job #468477)
Cod sursa(job #468477)
program patrate2;
type numar=array[0..3200] of int64;
var f, g:text;
c, vg, rez:numar;
i, j, ii:longint;
t, n, k:int64;
function prod_nr(a:numar;z:longint):numar;
begin
c:=vg;
t:=0;
for i:=1 to a[0] do
begin
k:=a[i]*z+t;
c[i]:=k mod 10;
t:=k div 10;
end;
c[0]:=a[0];
while t>0 do
begin
c[0]:=c[0]+1;
c[c[0]]:=t mod 10;
t:=t div 10;
end;
prod_nr:=c;
end;
begin
assign(f,'patrate2.in'); reset(f);
assign(g,'patrate2.out'); rewrite(g);
readln(f,n);
rez[0]:=1;
rez[1]:=1;
for ii:=1 to n do
rez:=prod_nr(rez,ii);
n:=n*n;
while n>30 do
begin
rez:=prod_nr(rez,1 shl 30);
n:=n-30;
end;
rez:=prod_nr(rez,1 shl n);
for i:=rez[0] downto 1 do
write(g,rez[i]);
writeln(g);
close(f);
close(g);
end.