Mai intai trebuie sa te autentifici.

Cod sursa(job #688899)

Utilizator andreifirstCioara Andrei Ioan andreifirst Data 23 februarie 2012 22:28:52
Problema Patrate2 Scor 90
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.13 kb
var v:array [1..3500] of shortint;
    n, i, j, l, r, rs, m, p:longint;
    f, g:text;
    buf2:array [1.. 1 shl 17] of char;

begin
assign (f, 'patrate2.in'); reset (f);
assign (g, 'patrate2.out'); settextbuf (g, buf2); rewrite (g);

read (f, n);
v[1]:=1; l:=1;


for i := 2 to n do
  begin
  r:=0;
  for j := 1 to l do
    begin
    rs:=(v[j]*i+r) div 10;
    v[j]:=(v[j]*i+r) mod 10;
    r:=rs;
    end;
  while r<> 0 do
    begin
    inc (j);
    v[j]:=r mod 10;
    r:=r div 10;
    end;
  l:=j;
  end;


for i := 1 to (n*n) div 2 do
  begin
  r:=0;
  for j := 1 to l do
    begin
    rs:=(v[j]*4 +r) div 10;
    v[j]:=(v[j]*4+r) mod 10;
    r:=rs;
    end;
  while r <> 0 do
    begin
    inc (j);
    v[j]:=r mod 10;
    r:=r div 10;
    end;
  l:=j;
  end;

if n*n mod 2 = 1 then
  begin
  r:=0;
  for j := 1 to l do
    begin
    rs:=(v[j]*2 +r) div 10;
    v[j]:=(v[j]*2+r) mod 10;
    r:=rs;
    end;
  while r <> 0 do
    begin
    inc (j);
    v[j]:=r mod 10;
    r:=r div 10;
    end;
  l:=j;
  end;




for i := l downto 1 do write (g, v[i]);

close (f); close (g);
end.