Pagini recente » Cod sursa (job #1343879) | Cod sursa (job #1801732)
#include <fstream>
#include <iostream>
#include <cmath>
// nr zero-uri de la sfarsitul lui n!
int zeroes(int n){
int p = 5, s = 0;
while(p <= n){
s += n / p;
p *= 5;
}
return s;
}
long long binarySearch(int left, int right, int val){
if(left <= right){
int mid = left + (right -left) / 2;
if(zeroes(mid) == val){
return mid;
}
if(zeroes(mid) < val){
return binarySearch(mid + 1, right, val);
}else{
return binarySearch(left, mid - 1, val);
}
}
return -1;
}
int main(){
std::ifstream fin("fact.in");
std::ofstream fout("fact.out");
int k;
fin >> k;
if(k == 0){
fout << 1;
}else{
fout << (binarySearch(1, std::pow(5, 13), k) / 5) * 5;
}
fin.close();
fout.close();
return 0;
}