Cod sursa(job #270055)

Utilizator andyciupCiupan Andrei andyciup Data 3 martie 2009 18:44:37
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<stdio.h>
#include<math.h>
#define N 1000003
int v[N]={0};
void phi(){
	for(int i=2; i<N;++i)
		v[i]=i;
	for(int i=2; i<N;++i){
		if(v[i]==i){
			for(int j=i; j<N ; j+=i){
				v[j]/=i;
				v[j]*=i-1;
			}
		}
	}
}




int main(){
	freopen("fractii.in", "r", stdin);
	freopen("fractii.out", "w", stdout);
	int n;
	long long s=0;
	scanf("%d", &n);
	phi();
	v[1]=1;
	for(int i=1; i<=n;++i){
		s+=2;
		if(n%i!=0&&(n-1)%i!=0)
		s+=v[i];
	}
	printf("%lld", s+s-5);
	
	
	return 0;
}