Pagini recente » Monitorul de evaluare | Istoria paginii documentatie/acces-email | Statistici Olariu Iustin (iustinola16) | Statistici Marius (info1972) | Cod sursa (job #196303)
Cod sursa(job #196303)
program gaju;
type vector=array[1..160]of integer;
var n,i,y,x,k,max,j,aux,p:byte;
a,v:vector;
f,g:text;
procedure inm(v:vector;i,p:byte);
var j,t:byte;
x:longint;
begin
t:=0;
for j:=1 to p do begin
x:=v[j]*i;
v[j]:=(x+t)mod 10;
t:=(x+t) div 10;
end;
if t<>0 then while t<>0 do begin
inc(p);
v[p]:=t mod 10;
t:=t div 10;
end;
end;
begin
assign(f,'factoriale.in');
assign(g,'factoriale.out');
reset(f);
rewrite(g);
readln(f,n,k);
max:=0;
for i:=1 to n do begin
read(f,x);
for y:=2 to x do begin
aux:=y;j:=2;
while aux<>1 do begin
while aux mod j=0 do begin a[j]:=a[j]+1;
aux:=aux div j;
end;
j:=j+1;
end;
if j-1>max then max:=j-1;
end;
end;
v[1]:=1;p:=1;
for i:=2 to max do
if (a[i]mod k<>0)and(a[i]<>0) then begin
y:=k-(a[i] mod k);
for j:=1 to y do inm(v,i,p);
end;
for i:=p downto 1 do write(g,v[i]);
close(f);close(g);
end.