Cod sursa(job #2291344)
| Utilizator | Data | 27 noiembrie 2018 21:54:38 | |
|---|---|---|---|
| Problema | Factorial | Scor | 5 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.68 kb |
#include <fstream>
using namespace std;
ifstream fin ("fact.in");
ofstream fout ("fact.out");
int p, n, r, c, suma, st, dr, mid, w, v[100000];
int main (){
fin>>p;
st = 1; dr = p*5;
while (st <= dr) {
r = (st + dr)/2;
c = 5;
suma = 0;
while (c <= r) {
suma += r/c;
c *= 5;
}
if (suma >= p)
dr = r;
else
st = r;
}
c = 5;
suma = 0;
while(c<=st){
suma = suma + st/c;
c = c*5;
}
if(suma != p)
fout<<-1;
else
fout<<st;
return 0;
}
