Cod sursa(job #1427786)

Utilizator GeiGeiGeorge Cioroiu GeiGei Data 3 mai 2015 01:33:09
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <vector>

using namespace std;

long long gcd(long long a, long long b) {
    if (b == 0)
        return (a == 1) ? 0 : a;
    return gcd(b, a % b);
}

int main() {
    ifstream fi("fractii.in");
    ofstream fo("fractii.out");

    long long n;
    fi >> n;

    vector<bool> sieve(n + 1);
    for (long i = 2; i <= n; i++)
        sieve[i] = false;
    sieve[2] = true;

    long long ans = n * n - (n - 1);

    for (long i = 2; i <= n; i++)
        if (sieve[i]) {
            for (long j = i * i; j <= n; j += i)
                sieve[j] = false;
            long aux = n / i;
            ans -= aux * (aux - 1);
        }

    fo << ans;

    return 0;
}