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