Pagini recente » Cod sursa (job #340879) | Cod sursa (job #1899531) | Rating Florin Onofrei (onoflorin) | Profil info_isa_costin | Cod sursa (job #1883368)
#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){
if( p == 0 )
return 1;
long long mid = low + (high - low)/2;
if( number_of_zero(mid) == p)
{
while(number_of_zero(mid) == p){
mid--;
}
return (mid + 1);
}
if( number_of_zero(mid) > p )
return find_number(p,low,mid - 1);
if( number_of_zero(mid) < p)
return find_number(p,mid + 1,high);
}
int main() {
long long p;
long long x = INT8_MAX;
ifstream file_in;
ofstream file_out;
file_in.open("fact.in");
file_out.open("fact.out");
file_in >> p;
file_out << find_number(p,0,x);
file_in.close();
file_out.close();
return 0;
}