Cod sursa(job #13740)

Utilizator mariuscris90giuroiu marius mariuscris90 Data 7 februarie 2007 14:13:27
Problema Fractii Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.73 kb
{$n+}
program fractiii;
type vector=array[1..2000000] of record
                           x:boolean;
                           l,k:longint;end;
var a:vector;
    n,z,i,j,s1,p,p1:longint;
    t:boolean;
    s:extended;
    f,g:text;
begin
assign(f,'fractii.in');assign(g,'fractii.out');reset(f);rewrite(g);
read(f,n);
for i:=2 to n do begin
z:=i;if a[i].x=false then a[i].l:=(i-1)*2;
while z<n do begin
z:=z+i;
a[z].x:=true;t:=true;
if a[z].l=0 then begin a[z].l:=1;a[z].k:=1;end;
if a[i].x=false then begin a[z].l:=a[z].l*(i-1);a[z].k:=a[z].k*i;end;
end;end;
for i:=2 to n do begin
if a[i].x=false then s:=s+a[i].l
                else s:=s+(((a[i].l*i)div a[i].k)*2);end;


s:=s+1;write(g,s:0:0);close(f);close(g);end.