Cod sursa(job #39281)

Utilizator savimSerban Andrei Stan savim Data 26 martie 2007 16:34:32
Problema GFact Scor 75
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.83 kb
var d,put,fact:array[1..100] of longint;
    gas,n,m,x,p,q,i,c:longint;
    f1,f2:text;
begin
assign(f1,'gfact.in');
assign(f2,'gfact.out');
reset(f1);
rewrite(f2);
readln(f1,p,q);
m:=0;x:=1;
while p<>1 do
 begin
  x:=x+1;
  if p mod x=0 then begin m:=m+1;d[m]:=x;put[m]:=0;end;
  while (p mod x=0) and (p<>1) do
   begin
    p:=p div x;
    put[m]:=put[m]+1;
   end;
 end;
for i:=1 to m do
 begin
  put[i]:=put[i]*q;
  fact[i]:=0;
 end;
n:=0;
repeat
 gas:=0;
 n:=n+1;c:=n;
 for i:=1 to m do
  if c mod d[i]=0 then while c mod d[i]=0 do
                        begin
                         c:=c div d[i];
                         fact[i]:=fact[i]+1;
                        end;
 for i:=1 to m do
  if put[i]>fact[i] then begin gas:=1;break;end;
until gas=0;
writeln(f2,n);
close(f1);
close(f2);
end.