Pagini recente » Cod sursa (job #1406352) | Cod sursa (job #65096) | Cod sursa (job #1871080) | Cod sursa (job #2986361) | Cod sursa (job #768228)
Cod sursa(job #768228)
#include<cstdio>
#define MULT 10000001
signed char mu[MULT+5];
bool cp[MULT+5];
int main()
{
freopen ("fractii.in","r",stdin);
freopen ("fractii.out","w",stdout);
int n;
scanf ("%d", &n);
mu[1]=1;
int r=(n)*(n+1)-1;
for(int i=2;i<=n;i++){
if(!cp[i]){//i is prime
mu[i]=-1;//prime numbers are square-free and have 1 prime factor
int ip=i*i;
for(int j=2*i;j<=n;j+=i){
cp[j]=1;
if(j%ip)
mu[j]=-mu[j/i];
else
mu[j]=0;
}
}
r+=mu[i]*(n/i)*(n/i+1);
}
printf ("%d",r);
return 0;
}