Pagini recente » Cod sursa (job #3192095) | Cod sursa (job #1750548) | Cod sursa (job #267761) | Cod sursa (job #26053) | Cod sursa (job #282963)
Cod sursa(job #282963)
#include<stdio.h>
#define MAXX 1000000000
long long int N,P,temp,i,j,k,left=1,right=MAXX,ok,sol=-1,mij;
long long int zero(long long int A)
{
long long int product = 1,count = 0;
for(int i = 1 ; i <= 16 ;i++)
{
product *= 5;
count += A/product;
}
return count;
}
int main()
{
FILE*in=fopen("fact.in","r");
FILE*out=fopen("fact.out","w");
fscanf(in,"%lld",&P);
while(ok==0 && left <= right)
{
mij=left+(right-left)/2;
if(zero(mij) == P ) {sol = mij;ok=1;}
else if(zero(mij)<P)
left=mij+1;
else if(zero(mij)>P)
right=mij-1;
}
while(zero(sol)==P)
sol--;
if(sol == -1) sol--;
if(P==0) sol=0;
fprintf(out,"%lld\n",sol+1);
return 0;
}