Pagini recente » Cod sursa (job #2251834) | Cod sursa (job #1616164) | Cod sursa (job #514063) | Cod sursa (job #2257811) | Cod sursa (job #49251)
Cod sursa(job #49251)
var n,b,put,k,j,i,max,t,x:longint;
sum:qword;
f,g:text;
function s(p:longint):qword;
begin
s:=(((n div p)-1)*(n div p)*p) div 2 + (n div p)*(n mod p+1);
end;
begin
assign(f,'zero2.in');
assign(g,'zero2.out');
reset(f);
rewrite(g);
for k:=1 to 10 do begin
read(f,n,b);
i:=1;
while b<>1 do begin
inc(i);
if b mod i=0 then begin
max:=i;
put:=0;
while b mod i=0 do begin
b:=b div i;
inc(put);
end;
end;
end;
b:=max;
x:=s(b);
j:=b;
sum:=0;
t:=0;
while x<>0 do begin
inc(sum,x div put);
inc(sum,(t+(x mod put)) div put);
t:=(t+(x mod put)) mod put;
j:=j*b;
x:=s(j);
end;
writeln(g,sum);
end;
close(f);
close(g);
end.