Pagini recente » Cod sursa (job #2219057) | Cod sursa (job #1895367) | Cod sursa (job #920223) | Cod sursa (job #582094) | Cod sursa (job #137806)
Cod sursa(job #137806)
program factoriale;
var v:array[1..100] of integer;
ex,j,k,i,max:longint;
min:array[1..10] of 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 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);
case ex of
1:write(g,min[ex]);
2:write(g,min[1]*min[2]);
3:write(g,min[1]*min[2]*min[3]);
4:write(g,min[1]*min[2]*min[3]*min[4]);
5:write(g,min[1]*min[2]*min[3]*min[4]*min[5]);
6:write(g,min[1]*min[2]*min[3]*min[4]*min[5]*min[6]);
7:write(g,min[1]*min[2]*min[3]*min[4]*min[5]*min[6]*min[7]);
8:write(g,min[1]*min[2]*min[3]*min[4]*min[5]*min[6]*min[7]*min[8]);
9:write(g,min[1]*min[2]*min[3]*min[4]*min[5]*min[6]*min[7]*min[8]*min[9]);
10:write(g,min[1]*min[2]*min[3]*min[4]*min[5]*min[6]*min[7]*min[8]*min[9]*min[10]);
end;
close(g);
end;
begin
max:=0;min[1]:=1;
citire;ex:=1;
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
if min[ex]*i>200000000 then
begin
ex:=ex+1;min[ex]:=1;
min[ex]:=min[ex]*i;
end else
min[ex]:=min[ex]*i;
end;
afisare;
end.