Pagini recente » Cod sursa (job #2346705) | Cod sursa (job #782863) | Cod sursa (job #804618) | Cod sursa (job #2820433) | Cod sursa (job #2186800)
#include <cstdio>
using namespace std;
long long int cati_zero_are(long long int x)
{
long long int nr=0,imp=5;
while(x>=imp)
{
nr+=x/imp;
imp*=5;
}
return nr;
}
int main()
{
long long int p;
FILE *f=fopen("factorial.in","r"),*g=fopen("factorial.out","w");
fscanf(f,"%lli",&p);
long long int left=1,right=5*p,middle,nr=-1,anti_sigsegv;
while(left<=right)
{
middle=left+(right-left)/2;
anti_sigsegv=cati_zero_are(middle);
if(anti_sigsegv==p)
nr=middle;
if(anti_sigsegv>=p)
right=middle-1;
else
left=middle+1;
}
fprintf(g,"%lli",nr);
return 0;
}