Cod sursa(job #35815)

Utilizator vanila0406Ionescu Victor vanila0406 Data 22 martie 2007 16:10:43
Problema Fractii Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.19 kb
program fractii;
var f,g:text;
        p1:array[1..1000001] of longint;
        p2:array[1..1000001] of longint;
        viz:array[1..1000001] of byte;
        n:longint;




procedure iofile;
begin
        assign(f,'fractii.in');
        reset(f);
        assign(g,'fractii.out');
        rewrite(g);
        readln(f,n);
        close(f);
end;




procedure ciur;
var i,j:longint;
begin
        p1[1]:=1;
        p2[1]:=1;
        fillchar(viz,sizeof(viz),0);
        for i:=1 to n do
                p1[i]:=1;
        for i:=1 to n do
                p2[i]:=1;
        for i:=2 to n do
                if viz[i]=0 then
                        for j:=1 to n div i do
                                begin
                                        p1[i*j]:=p1[i*j]*(i-1);
                                        p2[i*j]:=p2[i*j]*i;
                                        viz[i*j]:=1;
                                end;
end;



procedure prel;
var s,i:longint;
begin
        s:=1;
        for i:=2 to n do
                s:=s+2*((i div p2[i])*p1[i]);
        writeln(g,s);
        close(g);
end;

begin
        iofile;
        ciur;
        prel;
end.