Cod sursa(job #2793537)

Utilizator lolismekAlex Jerpelea lolismek Data 3 noiembrie 2021 18:38:28
Problema GFact Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <iostream>
#include <fstream>
#include <cmath>

using namespace std;

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

long long cmdp(long long p){
    long long div, x;
    div = 2;
    while(div * div < p){
        while(p % div == 0){
            p /= div;
            x = div;
        }
        div++;
    }
    if(p > 1) x = p;
    return x;
}

long long nrapp(long long n, long long x){ /// la ce putere este x in n! ???
    int p = x, rasp = 0;
    while(p <= n){
        rasp += (n / p);
        p *= x;
    }
    return rasp;
}

int main()
{
    long long p, q, x, dr, st, mij;
    fin >> p >> q;

    x = cmdp(p);

    st = 1;
    dr = 100;
    while(dr - st > 1){
        mij = (st + dr) / 2;
        if(nrapp(mij, x) > q)
            dr = mij;
        else
            st = mij;
    }
    while(nrapp(st, x) == q) st--;
    st++;
    fout << st;
    return 0;
}