Pagini recente » Cod sursa (job #2818926) | Cod sursa (job #322619) | Cod sursa (job #2365322) | Cod sursa (job #901375) | Cod sursa (job #57455)
Cod sursa(job #57455)
#include<stdio.h>
long v[1000001],n,u[1000001];
void init(long &n)
{
FILE*f=fopen("fractii.in","r");
fscanf(f,"%ld",&n);
fclose(f);
}
void eratostene()
{
long i,j;
for(i=2;i<=n;i++) v[i]=i;
for(i=2;i<=n;i++)
if(u[i]==0)
{
j=2;
v[i]--;
while(i*j<=n)
{
u[i*j]=1;
v[i*j]=v[i*j]-v[i*j]/i;
j++;}
}
}
int main()
{
init(n);
eratostene();
FILE*g=fopen("fractii.out","w");
long sol=1,i;
for(i=2;i<=n;i++)
sol+=2*v[i];
fprintf(g,"%ld",sol);
fclose(g);
return 0;}