Cod sursa(job #856628)

Utilizator EduardGeorgescuGeorgescu Eduard EduardGeorgescu Data 16 ianuarie 2013 20:01:59
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<cstdio>
using namespace std;

long long phi [1000010];

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