Pagini recente » Cod sursa (job #2797421) | Cod sursa (job #472683) | Cod sursa (job #235138) | Cod sursa (job #1810755) | Cod sursa (job #1857209)
#include <stdio.h>
#define Nmax 1000000
int phi[Nmax+1];
main(){
freopen("fractii.in", "r", stdin);
freopen("fractii.out", "w", stdout);
int N, i, j;
long long sum = 0;
scanf("%d", &N);
for(i=1; i<=Nmax; i++){
phi[i] = i-1;
}
for(i=2; i<=Nmax; i++){
for(j=2*i; j<=Nmax; j+=i){
phi[j] -= phi[i];
}
}phi[0] = phi[1] = 1;
for(i=1; i<=N; i++){
sum += phi[i];
}sum *= 2; sum--;
printf("%lld", sum);
return 0;
}
/*PHI[i]
for(i=1; i<=Nmax; i++){
phi[i] = i;
}
for(i=2; i<=Nmax; i++){
if(phi[i]==i){
for(j=i; j<=Nmax; j+=i){
phi[j] /=i;
phi[j] *= (i-1);
}
}
phi[j] /= i;
phi[j] *= (i-1);
}
*/