Cod sursa(job #11792)

Utilizator petrePajarcu Alexandru-Petrisor petre Data 1 februarie 2007 18:54:23
Problema Fractii Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.73 kb
program lol;
var a:array[1..10000000] of boolean;
n,i,j,k,l:longint;f,g:text;m:qword;
function t(n:longint):qword;
var i:longint;
s:qword;
begin
s:=n;
for i:=1 to n div 2 do
    if (not a[i]) and (n mod i=0) then
                            s:=(s div i)*(i-1) ;
if not a[n] then s:=n-1;t:=s;
end;
begin
assign(f,'fractii.in');
reset(F);
assign(g,'fractii.out');
rewrite(G);
readln(f,n);
a[1]:=true;
for i:=1 to n do
    if not a[i] then
                begin
                j:=i;
                while j+i<=N do
                begin
                j:=j+i;
                a[j]:=true;
                end;
                end;
m:=1;
for i:=2 to n do
    m:=m+2*t(i);
writeln(g,m);
close(F);
close(G);
end.