Cod sursa(job #6487)

Utilizator ProtomanAndrei Purice Protoman Data 19 ianuarie 2007 20:49:46
Problema Patrate2 Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.03 kb
type vector=array[0..5000] of longint;

var f1,f2:text; n,m:longint; v:vector; i,j:longint;

procedure inmultire(nr:integer);
begin
  m:=0;
  for i:=1 to v[0] do begin
    v[i]:=v[i]*nr;
    v[i]:=v[i]+m;
    m:=v[i] div 10;
    v[i]:=v[i] mod 10;
  end;
  while m>0 do begin
    inc(v[0]);
    v[v[0]]:=m mod 10;
    m:=m div 10;
  end;
end;

begin
assign(f1,'patrate2.in');
reset(f1);
assign(f2,'patrate2.out');
rewrite(f2);
read(f1,n);
v[0]:=1;
v[v[0]]:=1;
for j:=1 to n do
inmultire(j);
for j:=1 to n*n div 12 do
inmultire(4096);
if n*n mod 12=1 then inmultire(2);
if n*n mod 12=2 then inmultire(4);
if n*n mod 12=3 then inmultire(8);
if n*n mod 12=4 then inmultire(16);
if n*n mod 12=5 then inmultire(32);
if n*n mod 12=6 then inmultire(64);
if n*n mod 12=7 then inmultire(128);
if n*n mod 12=8 then inmultire(256);
if n*n mod 12=9 then inmultire(512);
if n*n mod 12=10 then inmultire(1024);
if n*n mod 12=11 then inmultire(2048);
for j:=v[0] downto 1 do write(f2,v[j]);
close(f1);
close(f2);
end.