Cod sursa(job #825537)

Utilizator frumushelRadu Lucian Andrei frumushel Data 29 noiembrie 2012 10:18:41
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
    unsigned long long n,nr=0,i,j;
    unsigned long long phi[1000000];
    FILE *in = fopen("fractii.in", "r");
    FILE *out = fopen("fractii.out", "w");
    fscanf(in, "%ld", &n);
    
    for(int i=1;i<=n;i++)
            phi[i] = i-1;
    
    
    
    for(int i=2;i<=n;++i)
            for(int j=2*i;j<=n;j +=i)
                    phi[j] -= phi[i];
    
    for(int i=1;i<=n;i++)
         nr += phi[i];
    nr +=  n ;
    if(nr >= 3)
          for(i=3;i<=n;i++)
             nr += phi[i]-1;  
    //cout<<phi[4];

    fprintf(out,"%ld", nr);
    
    
}