Cod sursa(job #2613285)

Utilizator Katherine456719Swan Katherine Katherine456719 Data 9 mai 2020 15:29:23
Problema Frac Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>
using namespace std;
ifstream f("frac.in");
ofstream g ("frac.out");
long long c[51],k,n,p,pr=1,in=1,fin=1LL<<61,m=(in+fin)/2,r=m;;
int main(){
    f>>n>>p;
    for(int i=2; i*i<=n; ++i)
        if(n%i==0){
            while(n%i==0)n/=i;
            c[++k]=i;
        }
    if(n!=1) c[++k]=n;
    while(in<=fin){
        for(int i=1; i<(1<<k); ++i){
            pr=1;
            for(int j=0; j<=k; ++j)
                if(((1<<j) & i)>0)
                pr*=-c[j+1];
            r+=m/pr;
        }
        if(r<p)in=m+1;
        else fin=m-1;
    }
    g<<in;
    return 0;
}