Pagini recente » Cod sursa (job #2205050) | Cod sursa (job #384604) | Cod sursa (job #133929) | Cod sursa (job #304063) | Cod sursa (job #686836)
Cod sursa(job #686836)
#include <stdio.h>
using namespace std;
unsigned long int p;
long long int nr_zerouri(long long int x){
long long nr=0;
while (x){
nr+=x/5;
x/=5;
}
return nr;
}
long long int caut_binar(unsigned long long int st, unsigned long long int dr){
if (st>=dr)
return -1;
unsigned long long int mij=dr-((dr-st)/2);
long long int nr=nr_zerouri(mij);
if (nr==p)
return mij;
else if (nr<p)
return caut_binar(mij+1,dr);
else
return caut_binar(st,mij-1);
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%ld", &p);
if (p==0)
printf("1");
else{
long long nr=caut_binar(1, 400000000000000 );
if (nr!=-1){
while(nr_zerouri(nr)==p){
nr--;
}
nr++;
}
printf("%lld", nr);
}
return 0;
}