Cod sursa(job #1835497)
| Utilizator | Data | 26 decembrie 2016 22:36:12 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| 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.out");
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;
}
