Pagini recente » Cod sursa (job #2450091) | Cod sursa (job #2686632) | Cod sursa (job #1362306) | Cod sursa (job #744753) | Cod sursa (job #292851)
Cod sursa(job #292851)
#include <fstream.h>
#define dim 1000005
ifstream fin("fractii.in");
ofstream fout("fractii.out");
long S,n;
char c[dim];
long euler(long m)
{long double P=m;
long d;
if (m==1) return 1;
for(d=2;d<=m;d++)
if (!c[d] && m%d==0)
P=P*(d-1)/d;
return (long)P;
}
void ciur(long n)
{long i,j;
i=2;
while (i<n)
{
for (j=2*i;j<=n;j=j+i)
c[j]=1;
for (i++;c[i]==1 && i<n; i++);
}
}
int main()
{long i;
fin>>n; fin.close();
ciur(n);
for (i=1;i<=n;i++)
S+=euler(i);
fout<<S*2-1;
fout.close();
return 0;
}