Cod sursa(job #1216729)

Utilizator paul_danutDandelion paul_danut Data 5 august 2014 16:14:42
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <math.h>

using namespace std;

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

bool a[1000001];
int i,j,n,nr,p1,p;

int main()
{
    f>>n;
    for( i=2; i<=n/2; i++ )
        if( !a[i] )
            for( j=2; i*j<=n; j++ )
                a[i*j]=1;

    nr=1;
    for( i=2; i<=n; i++)
        if(!a[i])
           nr+=(i-1)*2;
        else
           {p1=p=1;
           for(j=2; j<=i/2; j++)
               if( !a[j] && i%j==0 )
                   {
                      p1*=j-1;
                      p*=j;
                   }
           nr+=(i*p1)/p*2; }
    g<<nr;
    f.close();g.close();
}