Pagini recente » Cod sursa (job #1713702) | Cod sursa (job #841835) | Cod sursa (job #786425) | Cod sursa (job #2090735) | Cod sursa (job #2537658)
// incerc sa vad de ce solutia precedenta nu dadea solutia optima
#include <fstream>
std::ifstream f("fact.in");
std::ofstream g("fact.out");
long long n;
long long Count0(long long n){
long long power = 5;
long long sol = 0;
while(power <= n){
sol += n / power;
power *= 5;
}
return sol;
}
long long search(long long n){
long long left = 1;
long long right = 5 * n;
long long sol = -1;
while(left <= right){
long long mid = (left + right) / 2;
if(Count0(mid) >= n){
right = mid - 1;
sol = mid;
}else{
left = mid + 1;
}
}
return sol;
}
int main(){
f >> n;
if(n == 0){
g << 1;
return 0;
}
long long s = search(n);
while(Count0(s - 1) == n && s > 1)
s--;
g << s;
return 0;
}