Pagini recente » Cod sursa (job #1330746) | Cod sursa (job #464866) | Cod sursa (job #85664) | Cod sursa (job #1650310) | Cod sursa (job #46366)
Cod sursa(job #46366)
Program cel;
Type vector=array[2..20000000] of integer;
var f,g:text;
a:vector;
n,d,fm,min,i:longint;
function cmmdc(x,y:longint):longint;
Begin
If x mod y=0 then cmmdc:=y
else cmmdc:=cmmdc(y,x mod y);
end;
Begin
Assign(f,'numere2.in');Reset(f);
Assign(g,'numere2.out');Rewrite(g);
Read(f,n);
For i:=2 to n do a[i]:=0;
d:=2;
repeat
fm:=0;
While n mod d=0 do
Begin
inc(fm);
n:=n div d;
end;
If fm<>0 then inc(a[d],fm);
If d=2 then inc(d)
else inc(d,2);
until n=1;
min:=0;
fm:=0;
For i:=2 to d do
If a[i]<>0 then Begin
If min=0 then Begin
If fm=0 then fm:=a[i]
else min:=cmmdc(fm,a[i]);
end
else min:=cmmdc(min,a[i]);
end;
fm:=1;
If min=0 then Begin
If d=3 then Begin
Writeln(g,d-1);
Writeln(g,a[d-1]);
end
else Begin
Writeln(g,d-2);
Writeln(g,a[d-2]);
end;
end
else Begin
For i:=2 to d do
If a[i]<>0 then Begin
a[i]:=a[i] div min;
fm:=fm*round(exp(a[i]*ln(i)));
end;
Writeln(g,fm);
Writeln(g,min);
end;
Close(f);
Close(g);
end.