Pagini recente » Cod sursa (job #236012) | Cod sursa (job #2877091) | Cod sursa (job #58652) | Cod sursa (job #1655672) | Cod sursa (job #3135925)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("factorial.in");
ofstream fout("factorial.out");
int nr0(int n)
{
int cnt = 0;
while (n) cnt += n/5, n /= 5;
return cnt;
}
int main()
{
ios_base :: sync_with_stdio(false);
fin.tie(nullptr), fout.tie(nullptr);
int p;
fin>>p;
if (p == 0) {
fout<<1;
return 0;
}
int left = 1, right = 5*p, solution = -1;
while (left <= right) {
int middle = (left+right)/2, nr0s = nr0(middle);
if (nr0s == p) solution = middle, right = middle-1;
else if (nr0s < p) left = middle+1;
else right = middle-1;
}
fout<<solution;
return 0;
}