Pagini recente » Cod sursa (job #2249547) | Cod sursa (job #2445959) | Cod sursa (job #3160279) | Cod sursa (job #2741906) | Cod sursa (job #189622)
Cod sursa(job #189622)
#include<stdio.h>
unsigned long long phi[1000001],i,j,k,sol,n;
int main()
{
freopen("fractii.in","rt",stdin);
freopen("fractii.out","wt",stdout);
scanf("%llu",&n);
phi[1]=1;sol=1;
for(i=2;i<=n;i++)
{
if(!phi[i])
{
phi[i]=i-1;
for(j=i*i;j<=n;j+=i)
phi[j]=i;
}
else
{
j=phi[i];
phi[i]=j-1;
k=i/j;
while(k%j==0){phi[i]*=j;k/=j;}
phi[i]*=phi[k];
}
sol+=2*phi[i];
}
printf("%llu",sol);
return 0;
}