Pagini recente » Cod sursa (job #1705193) | Cod sursa (job #657315) | Cod sursa (job #3269473) | Cod sursa (job #1953256) | Cod sursa (job #2957245)
#include <bits/stdc++.h>
#include <iostream>
#include <fstream>
using namespace std;
typedef long long int ll;
ifstream f("fact.in");
ofstream g("fact.out");
ll ans = -1;
ll countzeros(ll& num){
ll div = 5;
ll cnt = 0;
while(num / div > 0){
cnt += num / div;
div*=5;
}
return cnt;
}
int main(){
ll val;
while(f >> val){
ll begin = 0;
ll end = 10e9;
ans = -1;
if(val == 0){
g << "1" << endl;
continue;
}else{
while (begin <= end) {
ll mid = begin + (end - begin) / 2;
ll zeros = countzeros(mid);
if (zeros == val) {
ans = mid;
// daca as pune break mi ar pune prima valoare pe care o gaseste care indeplineste conditia
end = mid - 1; // nu se termina programul chiar daca gaseste prima valoare care respecta conditia
// (noua ne trebuie cel mai mic posibil)
} else if (zeros > val) {
end = mid - 1;
} else {
begin = mid + 1;
}
}
}
g << ans << endl;
}
}