Pagini recente » Cod sursa (job #1666320) | Statistici Anisia Zlataru (AnisiaZlataru) | Cod sursa (job #1607517) | Cod sursa (job #355090) | Cod sursa (job #480135)
Cod sursa(job #480135)
var N, j, i, x : longint ;
v : array[1 .. 100000] of longint ;
f, g : text ;
Bufin, Bufout : Array[1 .. 100000] of byte;
procedure fisier;
begin
assign ( f,'sum.in' ) ; reset ( f ) ;
assign ( g,'sum.out') ; rewrite ( g ) ;
SetTextBuf ( f, Bufin ) ;
SetTextBuf ( g, Bufout ) ;
end;
procedure ciur;
begin
for i := 1 to 100000 do
v[i] := i ;
i := 2 ;
while ( i <= 100000 ) do
begin
if ( v[i] = i ) then
begin
j := i ;
while j <= 100000 do
begin
v[j] := v[j] div i * ( i - 1 ) ;
j := j + i ;
end;
end;
if ( i = 2 ) then inc ( i, 1 )
else inc ( i, 2 ) ;
end;
end;
procedure citire ;
begin
readln ( f, N ) ;
end ;
procedure main ;
begin
for i := 1 to N do
begin
readln ( f, x ) ;
writeln ( g, int64 ( v[x] ) * int64 ( x shl 1 ) ) ;
end;
end;
//---------------------
begin
fisier ; ciur ; citire ; main ;
close ( f ) ; close ( g ) ;
end.