Cod sursa(job #137257)
Utilizator | Data | 17 februarie 2008 10:38:13 | |
---|---|---|---|
Problema | Factoriale | Scor | 40 |
Compilator | fpc | Status | done |
Runda | preONI 2008, Runda 4, Clasa a 9-a | Marime | 1.29 kb |
var n,k,max,i,j,a,d,r,x,p:longint;
v:array[1..10000] of longint;
f,g:text;
begin
assign(f,'factoriale.in');reset(f);
assign(g,'factoriale.out');rewrite(g);
read(f,n,k);
max:=0;
for i:=1 to n do begin
read(f,x);
for j:=2 to x do begin
d:=3;
a:=j;
while a mod 2=0 do begin
inc(v[2]);
a:=a div 2;
end;
repeat
while a mod d=0 do begin
inc(v[d]);
a:=a div d;
end;
d:=d+2;
until a=1;
end;
if max<x then max:=x;
end;
p:=1;
for i:=2 to max do begin
r:=v[i] mod k;
if r<>0 then for j:=1 to (k-r) do p:=p*i;
end;
writeln(g,p);
close(f);
close(g);
end.