Cod sursa(job #270057)

Utilizator andyciupCiupan Andrei andyciup Data 3 martie 2009 18:46:01
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 n;
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);
	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;
}