Pagini recente » Cod sursa (job #1401070) | Cod sursa (job #2665484) | Cod sursa (job #2483337) | Cod sursa (job #1402890) | Cod sursa (job #680728)
Cod sursa(job #680728)
var v:array[1..1000000] of boolean;
pr:array [1..80000] of int64;
buf1, buf2:array [1.. 1 shl 17] of char;
ii, m, t:longint;
nr, s, p, r, x, pp, j, i:int64;
f, g:text;
begin
assign (f, 'ssnd.in'); settextbuf (f, buf1); reset (f);
assign (g, 'ssnd.out'); settextbuf (f, buf2); rewrite (g);
{ciurul lui eratostenos}
m:=1; pr[m] :=2;
i:=3;
while i <= 1000000 do
begin
if v[i]= false then
begin
j:= i*i;
while j <= 1000000 do begin v[j]:=true; j:=j+i+i; end;
m:=m+1;
pr[m]:=i;
end;
i:=i+2;
end;
read (f, t);
for ii := 1 to t do
begin
nr:=1; s:=1;
read (f, x);
i:=0;
while x<>1 do
begin
i:=i+1;
if x mod pr[i] = 0 then
begin
p:=0;
r:=x;
while x mod pr[i]=0 do
begin
p:=p+1;
x:= x div pr[i];
end;
nr:=nr*(p+1); {formula numar}
r:=r div x * pr[i]; {}
s:=(s*(r-1)div(pr[i]-1)); {formula suma}
end;
end;
writeln (g, nr,' ', s mod 9973);
end;
close (f); close (g);
end.