Cod sursa(job #1835492)
| Utilizator | Data | 26 decembrie 2016 22:33:24 | |
|---|---|---|---|
| Problema | Factorial | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <iostream>
#include <vector>
#include <algorithm>
#include <fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.put");
int main()
{
long p , mijl, src;
in>>p;
long res(-1);
long start(1), stop(1000000000);
while (start < stop){
mijl = (start+stop)/2;
src = 0;
for (int q = 5; q <=mijl; q*=5){
src += (mijl/q);
};
if (src == p){
res = mijl;
stop = mijl - 1;
} else if (src > p){
stop = mijl - 1;
} else {
start = mijl + 1;
};
};
out<<res;
}
