Cod sursa(job #176658)
Utilizator | Data | 11 aprilie 2008 15:39:08 | |
---|---|---|---|
Problema | 12-Perm | Scor | 75 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 0.43 kb |
const modulo=1048575;
var a:array[1..5] of longint;
f,g:text;
i,n:longint;
begin
assign(f,'12perm.in'); reset(f);
assign(g,'12perm.out'); rewrite(g);
read(f,n);
a[1]:=1; a[2]:=2; a[3]:=6; a[4]:=12;
for i:=5 to n do begin
a[5]:=(a[4]+a[2]+(i-2) shl 1) and modulo;
a[1]:=a[2]; a[2]:=a[3]; a[3]:=a[4]; a[4]:=a[5];
end;
if n<=4 then
writeln(g,a[n])
else
writeln(g,a[4]);
close(f); close(g);
end.