Pagini recente » Clasament 1543 | Cod sursa (job #213437) | Cod sursa (job #312092) | Cod sursa (job #2116353) | Cod sursa (job #1324531)
#include <stdio.h>
using namespace std;
FILE *fin ,*fout;
char v[1000001];
long long sum[1000001] ,sus[1000001] ,jos[1000001];
int main()
{
long long n ,i ,j;
fin = fopen("fractii.in" ,"r");
fout = fopen("fractii.out" ,"w");
fscanf(fin ,"%lld" ,&n);
for(i=1;i<=n;i++)
{
sum[i]=i;
sus[i]=1;
jos[i]=1;
}
sum[1]=0;
for(i=2;i<=n;i++)
{
if(v[i]==0)
{
sus[i]*=(i-1);
jos[i]*=i;
for(j=2*i;j<=n;j+=i)
{
v[j]=1;
sus[j]*=(i-1);
jos[j]*=i;
}
}
}
for(i=1;i<=n;i++)
{
sum[i]=(sum[i]*sus[i])/jos[i];
}
for(i=2;i<=n;i++)
{
sum[i]=sum[i]+sum[i-1];
}
fprintf(fout ,"%lld" ,sum[n]*2+1);
return 0;
}