Cod sursa(job #1008528)

Utilizator bcmanBogdan Condurache bcman Data 11 octombrie 2013 10:22:48
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <math.h>
    
#define MAX 1000000
using namespace std;
   
int main()
{
    unsigned n, uTotal, i, j;
    bool a_bPrim[MAX];
    cin >> 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];
    cout << uTotal << endl;
	return 0;
}