Cod sursa(job #113779)

Utilizator DongYongDong Yong DongYong Data 11 decembrie 2007 15:15:18
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream.h>


ifstream f("fractii.in");
ofstream g("fractii.out");


long int n,a[1000001];


int prim(int k)
{
    int d;
    if(k==0 || k==1) return 0;    
    for(d=2;d<=k/2;d++)
    if(k%d==0) return 0;
    return 1;
}
    


int main()
{
    long int i,j,p=0;
    f>>n;
    
    a[1]=n;    
    for(i=2;i<=n;i++)
    {
        a[i]=n;
        if(prim(i)) a[i]=a[i]-n/i;
        else for(j=2;j<=sqrt(i);j++)
             if(i%j==0 && prim(j)) 
             if(j!=sqrt(i) && (i/j)%j!=0) a[i]=a[i]-(n-a[j])-(n-a[i/j])+1;
                                     else a[i]=a[j];
    }               

    for(i=1;i<=n;i++)
    p=p+a[i];

    g<<p;
    
    f.close();
    g.close();
}