Pagini recente » Cod sursa (job #703678) | Cod sursa (job #342957) | Cod sursa (job #14411) | Cod sursa (job #2798270) | Cod sursa (job #57458)
Cod sursa(job #57458)
#include<stdio.h>
long long v[1000001],n,u[1000001];
void init(long &n)
{
FILE*f=fopen("fractii.in","r");
fscanf(f,"%lld",&n);
fclose(f);
}
void eratostene()
{
long i,j;
for(i=2;i<=1000000;i++) v[i]=i;
for(i=2;i<=1000000;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 long sol=1,i;
for(i=2;i<=n;i++)
sol+=2*v[i];
fprintf(g,"%lld",sol);
fclose(g);
return 0;}