Cod sursa(job #174644)

Utilizator TzompyyMitroi Mihai Tzompyy Data 9 aprilie 2008 01:43:10
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>

using namespace std;

ifstream fin("fractii.in");
ofstream fout("fractii.out");

int N;
int A[1000001], B[1000001];

int main()
{
    fin >> N;
    
    int i, j, s = 0;
    
    for(i=2; i<=N; ++i)
    {
        if(A[i] == 0)
        {
            B[i] = i - 1;
            
            for(j=2*i; j<=N; j+=i)
            {
                if(B[j] == 0) B[j] = j - (j / i);
                else
                    B[j] = B[j] - (B[j] / i);
            
                A[j] = 1;
            }
        }       
        s += B[i];
    }
    
    s *= 2;
    s ++;
    
    fout << s;
    
    fin.close();
    fout.close();
    
    return 0;
}