Pagini recente » Cod sursa (job #807188) | Cod sursa (job #924605) | Cod sursa (job #2398861) | Cod sursa (job #287279) | Cod sursa (job #2603027)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int N,nrp;
bool ciur[1000001];
int p[80000];
void ciuruiala(int n)
{
int i,j;
for(i=2;i<=n;i++)
if(!ciur[i])for(j=2;i*j<=n;j++)ciur[i*j]=1;
for(i=2;i<=n;i++)
if(!ciur[i])p[++nrp]=i;
}
int phi(int n)
{
int f=n;
for(int i=1;p[i]<=n&&i<=nrp;i++)if(n%p[i]==0)f=(f*(p[i]-1))/p[i];
return f;
}
int main()
{
f>>N;
ciuruiala(N);
int s=0;
for(int i=1;i<=N;i++)
s+=phi(i);
s=s*2-1;
g<<s;
return 0;
}