Pagini recente » Cod sursa (job #1657401) | Cod sursa (job #1013437) | Cod sursa (job #1377702) | Cod sursa (job #2884449) | Cod sursa (job #138570)
Cod sursa(job #138570)
const fi='factoriale.in';
fo='factoriale.out';
type vect=array[0..101] of word;
var f:text;
i,x,N,k,j:byte;
A:vect;
M,P:longint;
{
Procedure mul(A,B:vect;var C:vect;m,n:byte;var mn:byte);
var k,i,j:integer;
begin
k:=0;
For j:=m downto 1 do
begin
for i:=n downto 1 do
C[n-i+1+k]:=C[n-i+1+k]+A[i]*B[j];
k:=k+1;
end;
end;
}
Procedure desc(x:byte;var A:vect);
var e,d:byte;
begin
d:=2;
repeat
e:=0;
while x Mod d=0 do
begin
e:=e+1;
x:=x Div d;
end;
if e>0 then A[d]:=A[d]+e;
d:=d+1;
until x=1;
end;
Begin
assign(f,fi); reset(f);
Readln(f,N,K);
For i:=1 To N do
begin
Read(f,x);
for j:=2 to x do
desc(j,A);
end;
close(f);
M:=1;
For i:=1 to 3 do
if A[i]>0 then
if A[i] Mod k<>0 then
M:=M*Trunc(exp((k-A[i] Mod k)*Ln(i)));
assign(f,fo);
Write(f,M);
close(f);
End.