Cod sursa(job #300680)
| Utilizator | Data | 7 aprilie 2009 16:49:01 | |
|---|---|---|---|
| Problema | Fractii | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.43 kb |
#include <stdio.h>
#define N 1000001
int n;
long long sum;
bool div[N];
int main()
{
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
scanf("%d",&n);
sum=(long long)(n*(n-1)+1);
for(int i=2;i<=n;i++)
{ for(int j=2;j<=i;j++)
if(i%j==0)
{ for(int k=j;k<i;k+=j)
div[k]=1;
}
for(int k=2;k<=i;k++)
{ if(div[k]) sum-=2;
div[k]=0;
}
}
printf("%lld",sum);
return 0;
}
