Cod sursa(job #227663)

Utilizator hasegandaniHasegan Daniel hasegandani Data 5 decembrie 2008 09:15:33
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdio.h>

#define nmax 1000001

unsigned long a[nmax],i,sol,n,j;

int main()
{
    freopen("fractii.in","r",stdin);
    freopen("fractii.out","w",stdout);
    scanf("%lu",&n);
    for(i=2;i<=n;++i)
		{
            if (a[i]==0)
                {
                for(j=2*i;j<=n;j*=2)
                        if (a[j]==0)
                            a[j]=j/i;
                        else
                            a[j]=a[j]/i;
                sol+=i-1;
                }   
            else 
                sol+=a[i];
        }
    printf("%lu",2*sol+1);
    return  0;
}