Cod sursa(job #3208748)

Utilizator gugalcromMuntoiu Vlad-Ioan gugalcrom Data 29 februarie 2024 18:47:35
Problema Frac Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <bitset>

using namespace std;

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

unsigned long long int cmmdc(unsigned long long int a, unsigned long long int b) {
    unsigned long long int r;
    while(b) {
        r = a % b;
        a = b;
        b = r;
    }
    return a;
}

int main() {
    unsigned long long int N, P, i, euler;
    fin >> N >> P;
    euler = 0;

    vector<unsigned long long int> primeIntreEle;

    for(i=1; i<N; i++) {
        if(cmmdc(i, N) <= 1) {
            //cout << i << ' ';
            euler++;
            primeIntreEle.push_back(i);
        }
    }

    fout << P/euler * N + primeIntreEle[P%euler-1];
    return 0;
}