Pagini recente » Cod sursa (job #975791) | Cod sursa (job #260507) | Cod sursa (job #2516798) | Cod sursa (job #1433601) | Cod sursa (job #768225)
Cod sursa(job #768225)
#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;
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<MULT;j+=i){
cp[j]=1;
if(j%ip)
mu[j]=-mu[j/i];
else
mu[j]=0;
}
}
int r=-1;
for(int i=1;i<=n;i++)
r+=mu[i]*(n/i)*(n/i+1);
printf ("%d",r);
return 0;
}