Pagini recente » Cod sursa (job #1577730) | Cod sursa (job #1242808) | Cod sursa (job #1458189) | Cod sursa (job #2259949) | Cod sursa (job #1008530)
#include <fstream>
#include <math.h>
#define MAX 1000000
using namespace std;
int main()
{
ifstream fin("fractii.in");
ofstream fout("fractii.out");
unsigned n, uTotal, i, j;
bool a_bPrim[MAX];
fin >> n; uTotal = n;
unsigned phi[n];
for (i=2; i<=n; i++)
a_bPrim[i]=1;
for (i=2; i<=unsigned(sqrt(double(n))); i++)
if (a_bPrim[i])
for (j=i;j<=n/i;j++)
a_bPrim[i*j]=0;
for (i = 1; i <= n; ++i)
phi[i] = i-1;
for (i = 2; i <= n; ++i)
for (int j = 2*i; j <= n; j += i)
phi[j] -= phi[i];
for (i = 1; i <= n; i++)
uTotal+=phi[i];
fout << uTotal << endl;
return 0;
}