Cod sursa(job #137225)

Utilizator andreivFMI - vacaroiu andrei andreiv Data 17 februarie 2008 10:25:03
Problema Factoriale Scor 20
Compilator fpc Status done
Runda preONI 2008, Runda 4, Clasele 5-8 Marime 0.85 kb
program factoriale;
var v:array[1..100] of integer;
    j,k,i,max,min:longint;

procedure citire;
var f:text;
    n,aux,x:longint;
    nr:longint;
begin
assign(f,'factoriale.in');
reset(f);
read(f,n,k);readln(f);
fillchar(v,sizeof(v),0);
for i:=1 to n do
begin
read(f,nr);
for x:=2 to nr do
begin
aux:=x;
  for j:=2 to trunc(sqrt(x)) do
  begin
   while aux mod j=0 do
   begin
   aux:=aux div j;
   v[j]:=v[j]+1;
   end;
  if j>max then max:=j;
  if aux<=1 then
  break;
  end;
if aux = x then
v[x]:=v[x]+1;
if aux>max then
max:=x;
end;
end;
close(f);
end;

procedure afisare;
var g:text;
begin
assign(g,'factoriale.out');
rewrite(g);
write(g,min);
close(g);
end;

begin
max:=0;min:=1;
citire;
for i:=2 to max do
if v[i] mod k<>0 then
begin
for j:=v[i]+1 to ((v[i] div k)+1)*k do
min:=min*i;
end;
afisare;
end.