Pagini recente » Cod sursa (job #44337) | Cod sursa (job #2235813) | Cod sursa (job #2136293) | Cod sursa (job #2540633) | Cod sursa (job #2072014)
#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;
}