Pagini recente » Cod sursa (job #1886362) | Cod sursa (job #2542032) | Cod sursa (job #2364852) | Cod sursa (job #1997626) | Cod sursa (job #1810685)
#include <fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
#define MAX 2000000000
int numarDeZerouri(int nr, int p) {
int sum = 0, c = 5;
while(c <= nr) {
sum += nr/c;
c = c * 5;
}
return sum;
}
int main()
{
int i = 1, p, cnt = 1, stanga = 1, dreapta = MAX;
in>>p;
while(stanga <= dreapta) {
if(numarDeZerouri((stanga + dreapta)/2, p) < p) {
stanga = (stanga + dreapta)/2 + 1;
} else {
dreapta = (stanga + dreapta)/2 - 1;
}
}
if(numarDeZerouri(stanga, p) == p)
out<<stanga;
else out<<"-1";
return 0;
}