Pagini recente » Cod sursa (job #2632425) | Istoria paginii utilizator/nekedfutok | Cod sursa (job #360047) | Cod sursa (job #175020) | Cod sursa (job #1776714)
#include <bits/stdc++.h>
using namespace std;
int p;
ifstream fin("fact.in");
ofstream fout("fact.out");
int trailingZeroes(int m){
int p=5;
int cnt=0;
while(m/p){
cnt+=m/p;
p=p*5;
}
return cnt;
}
int main()
{
fin>>p;
int left=1;
int right=INT_MAX;
int best=0;
while(left<=right){
int m=left+(right-left)/2;
int x = trailingZeroes(m);
if(x==p){
best=m;
right=m-1;
}
else if(x<p)
left=m+1;
else
right=m-1;
}
if(best==0)
fout<<-1;
else
fout<<best;
return 0;
}