Pagini recente » Cod sursa (job #2006694) | Cod sursa (job #680716)
Cod sursa(job #680716)
const max=1000000;
var v:array[1..max] of boolean;
pr:array [1..max] of longint;
ii, i, j, m, x, t:longint;
li, lj:int64;
nr, s, p, r:longint;
f, g:text;
begin
assign (f, 'ssnd.in'); reset (f);
assign (g, 'ssnd.out'); rewrite (g);
{ciurul lui eratostenos}
m:=1; pr[m]:=2;
li:=3;
while li <= max do
begin
if v[li]= false then
begin
inc (m);
pr[m]:=li;
lj:= li*li;
while lj <= max do begin v[lj]:=true; lj:=lj+li*2; end;
end;
li:=li+2;
end;
for i := 1 to m do write (pr[i], ' ');
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;
while x mod pr[i]=0 do
begin
p:=p+1;
x:= x div pr[i];
end;
nr:=nr*(p+1); {formula numar}
r:=1;
for j := 1 to p+1 do r:=r*pr[i] mod 9973; {ridicare la putere}
s:=(s*(r-1)div(pr[i]-1)) mod 9973; {formula suma}
end;
end;
writeln (g, nr,' ', s);
end;
close (f); close (g);
end.