Pagini recente » Cod sursa (job #188852) | Cod sursa (job #1656946) | Cod sursa (job #334887) | Cod sursa (job #415546) | Cod sursa (job #117906)
Cod sursa(job #117906)
var fi,fo:text;
n,ct,m:longint;
prime:array[1..10000]of longint;
puteri:array[1..100000]of longint;
procedure desc(n:longint);
var r,i:longint;
begin
i:=2; ct:=0;
while i<=n do
begin
if n mod i=0 then
begin
inc(ct);
prime[ct]:=i;
r:=1;
while n mod i=0 do
begin
r:=r*i;
n:=n div i;
end;
puteri[i]:=r;
end;
inc(i);
end;
end;
procedure solv(n:longint);
var phi,rez:int64;
i:longint;
begin
desc(n);
phi:=1;
for i:=1 to ct do
phi:=phi*(prime[i]-1)*puteri[prime[i]] div prime[i];
rez:=2*n*phi;
writeln(fo,rez);
end;
var i:longint;
begin
assign(fi,'totient.in'); reset(fi);
assign(fo,'totient.out'); rewrite(fo);
read(fi,m);
for i:=1 to m do
begin
read(fi,n);
solv(n);
end;
close(fi);
close(fo);
end.