Cod sursa(job #856625)

Utilizator EduardGeorgescuGeorgescu Eduard EduardGeorgescu Data 16 ianuarie 2013 19:59:54
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 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 , 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 ( "%d" , sol ); 
	
	return 0;
}