Pagini recente » Cod sursa (job #483498) | Cod sursa (job #1918964) | Cod sursa (job #454490) | Cod sursa (job #868129) | Cod sursa (job #1883414)
#include <iostream>
#include <fstream>
using namespace std;
long long number_of_zero(long long n){
long long count = 0;
long long power_of_five = 5;
while(power_of_five <= n){
count = count + n/ power_of_five;
power_of_five = power_of_five*5;
}
return count;
}
long long find_number(long long p, long long high, long long low){
long long mid;
long long result = -1;
if( p < 5 )
return 1;
while(low <= high) {
mid = low + ( high - low )/2;
if(number_of_zero(mid) <= p){
low = mid + 1;
result = mid;
}
else{
high = mid - 1;
}
}
if(number_of_zero(mid) != p)
return -1;
return (result - result%5);
}
int main() {
long long p;
ifstream file_in;
ofstream file_out;
file_in.open("fact.in");
file_out.open("fact.out");
file_in>>p;
file_out << find_number(p,10e9,0);
file_in.close();
file_out.close();
return 0;
}