Cod sursa(job #1804198)

Utilizator rares1012Rares Cautis rares1012 Data 12 noiembrie 2016 12:29:32
Problema GFact Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <stdio.h>
#include <stdlib.h>

inline long long int nrdiv(long long int n,long long int k)
{
    int s=0;
    while(n>0){
        s+=n/k;
        n=n/k;
    }
    return s;
}

int main()
{
    long long int z,q,p=1,r=0;
    FILE*fi,*fo;
    fi=fopen("gfact.in","r");
    fo=fopen("gfact.out","w");
    fscanf(fi,"%lld%lld",&z,&q);
    p=p<<30;
    while(p>0)
        {
            //printf("%d\n",nrdiv(p+r,z));
            if(nrdiv(p+r,z)<=q)
                r+=p;
            p/=2;
        }
    printf("%lld",r);
    fclose(fi);
    fclose(fo);
    return 0;
}