Pagini recente » Cod sursa (job #2131892) | Cod sursa (job #540187) | Cod sursa (job #88565) | Cod sursa (job #2253016) | Cod sursa (job #45900)
Cod sursa(job #45900)
#include<cstdio>
using namespace std;
long long x[1000001];
long long sol;
long long n,i,j;
long long prime[1000],nprime;
int main()
{
// freopen("fractii.in","r",stdin);
// freopen("fractii.out","w",stdout);
scanf("%lld",&n);
sol=n*n;
for(i=2;i<=n;i++)
{
for(j=0;j<nprime;j++)
if(i%prime[j]==0)
{
if((i/prime[j])%prime[j]==0)
x[i]=x[i/prime[j]];
else
x[i]=x[i/prime[j]]+n/prime[j]-x[i/prime[j]]/prime[j];
break;
}
if(!x[i])
{
x[i]=n/i;
prime[nprime++]=i;
}
sol-=x[i];
}
printf("%lld\n",sol);
return 0;
}