Cod sursa(job #1771579)

Utilizator andra1782Andra Alazaroaie andra1782 Data 5 octombrie 2016 19:42:14
Problema GFact Scor 20
Compilator c Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <stdio.h>

long long putere(long long n,long long p){
    long long pp=p,t=0;

    while(pp<=n){
        t+=n/pp;
        pp*=p;
    }
    return t;
}

int main(){
    FILE *fin=fopen("gfact.in","r");
    FILE *fout=fopen("gfact.out","w");
    long long p,q,i,pas;

    fscanf(fin,"%lld%lld",&p,&q);
    pas=1;
    for(i=0; i<50; i++)
        pas*=2;
    i=0;
    while(pas!=0){
        if(i+pas<=p*q && putere(i+pas,p)<q)
            i+=pas;
        pas/=2;
    }
    fprintf(fout,"%lld\n",i+1);
    fclose(fin);
    fclose(fout);
    return 0;
}