Cod sursa(job #2603031)

Utilizator raduraraduIacob Radu raduraradu Data 18 aprilie 2020 14:11:14
Problema Fractii Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int N,nrp;
bool ciur[1000001];
int p[80000];
int phi(int n)
{
    int result = n; // Initialize result as n

    // Consider all prime factors of n and subtract their
    // multiples from result
    for (int p = 2; p * p <= n; ++p) {

        // Check if p is a prime factor.
        if (n % p == 0) {

            // If yes, then update n and result
            while (n % p == 0)
                n /= p;
            result -= result / p;
        }
    }

    // If n has a prime factor greater than sqrt(n)
    // (There can be at-most one such prime factor)
    if (n > 1)
        result -= result / n;
    return result;
}
int main()
{
    f>>N;
    int s=0;
    for(int i=1;i<=N;i++)
        s+=phi(i);
    s=s*2-1;
    g<<s;
    return 0;
}