Pagini recente » Cod sursa (job #1841412) | Cod sursa (job #2173618) | Cod sursa (job #2195189) | Cod sursa (job #2784310) | Cod sursa (job #480128)
Cod sursa(job #480128)
type vec = string [255] ;
var N, j, i, k, l, y : longint ;
v : array[1 .. 100000] of longint ;
f, g : text ;
x : vec ;
Bufin, Bufout : Array[1 .. 1] 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, y ) ;
writeln ( g, int64 ( v[y] ) * int64 ( y shl 1 ) ) ;
end;
end;
//---------------------
begin
fisier ; ciur ; citire ; main ;
close ( f ) ; close ( g ) ;
end.