Cod sursa(job #3030225)

Utilizator PrelipceanRazvanPrelipcean Razvan Mihai PrelipceanRazvan Data 17 martie 2023 16:02:21
Problema Fractii Scor 0
Compilator cpp-32 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <fstream>
#include <bitset>

using namespace std;

int cmmdc(int a, int b)
{
    if(a < b)
        return cmmdc(b, a);
    if(!b)
        return a;
    return cmmdc(a%b, b);
}

int main()
{
    ifstream in("fractii.in");
    ofstream out("fractii.out");
    int n;
    in >> n;
    bitset<1000000> viz = 0;
    // bool viz[1000000];
    int sum = n-1;
    // for(int i = 1; i <= n; i++)
    // {
    //     for(int j = i+1; j <= n; j++)
    //     {
    //         if(cmmdc(i, j) == 1)
    //             sum++;
    //             // out << i << "/" << j << endl;
    //     }
    // }
    int i, j;
    for(i = 2; i < n; i++)
    {
        // sum += n-i+1-(n/i);
        if(viz[i])
            continue;
        for(j = i; j <= n; j += i)
            viz[j] = true;
        sum += (n/i)*(n-i+1 + ( (n/i)-1)*(1-i) )/2;
    }
    sum <<= 1;
    sum += 1;
    out << sum;
}