Cod sursa(job #2072014)

Utilizator rares1012Rares Cautis rares1012 Data 21 noiembrie 2017 12:09:37
Problema GFact Scor 20
Compilator c Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <stdio.h>
#include <stdlib.h>

unsigned long long int check(unsigned long long int x,unsigned long long int p)
{
    if(x!=0)
        return x/p+check(x/p,p);
    return 0;
}

int main()
{
    unsigned long long int q,t,r,p;
    FILE*fi,*fo;
    fi=fopen("gfact.in","r");
    fo=fopen("gfact.out","w");
    fscanf(fi,"%llu%llu",&q,&t);
    r=0;
    p=(unsigned long long int)1<<60;
    while(p!=0)
    {
        if(check(r+p,q)<t)
            r+=p;
        p/=2;
    }
    fprintf(fo,"%llu",r+1);
    fclose(fi);
    fclose(fo);
    return 0;
}