Cod sursa(job #241463)

Utilizator nusmaibunkeleviprofesor cicalescu nusmaibunkelevi Data 10 ianuarie 2009 07:09:06
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.41 kb
#include<stdio.h>
#define NM 1000000
long long fi[NM+1],r;
int main(){
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
long n,i,j;
char p[NM+1]={0};
scanf("%ld",&n);
for(i=1;i<=n;++i) fi[i]=i;
for(i=2;i<=n;++i){
	if(!p[i])
	{
		for(j=2;j*i<=n;++j){
			fi[j*i]=fi[j*i]*(i-1)/i;
			p[j*i]=1;
			}
		fi[i]--;
		}
	}
r=1;
for(i=2;i<=n;++i) r+=2*fi[i];
printf("%lld",r);
return 0;
}