Cod sursa(job #3315979)

Utilizator tudorbconstantinBordei Tudor-Constantin tudorbconstantin Data 16 octombrie 2025 17:27:43
Problema Fractii Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <vector>
#include <algorithm>
#include <cassert>
#include <fstream>
#include <cmath>

int main(int argc, char **argv)
{
    std::ifstream f("fractii.in");
    assert(f.is_open());

    int n;
    f >> n;
    f.close();

    int nr = (2*(n-1))+1;
    for(int i = 2; i <= n; ++i) {
        for(int j = 2; j <= n; ++j) {
            if(i==j) continue;

            bool irreducible = true;
            for(int k = 2; k <= std::min(i,j); ++k) {
                float fij = float(i/k) / float(j/k);
                if(fij == (float(i)/float(j))) {
                    irreducible = false;
                    break;
                }
            }
            if(irreducible) {
                ++nr;
            }
        }
    }

    std::ofstream o("fractii.out");
    o << nr;
    o.close();    

    return 0;
}