Cod sursa(job #1384812)
Utilizator | Data | 11 martie 2015 14:19:18 | |
---|---|---|---|
Problema | Factorial | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int zero (int n){
int nr = 0;
while (n >= 5){
nr += n/5;
n /= 5;
}
return nr;
}
int solve(int p){
int i = 0;
int pas = 1 << 15;
while (pas != 0){
if (zero(i+pas) <= p)
i += pas;
pas /= 2;
}
if (zero(i) == p) return i;
return -1;
}
int main()
{
int p;
in >> p;
out << solve (p) - 4;
return 0;
}