Cod sursa(job #2612358)
| Utilizator | Data | 8 mai 2020 21:30:12 | |
|---|---|---|---|
| Problema | Factorial | Scor | 95 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.72 kb |
#include <fstream>
using namespace std;
int main()
{
ifstream fin("fact.in");
ofstream fout("fact.out");
int p;
fin>>p;
int mij,copie,st,dr,ok,putere,s;
ok=1; st=1; dr=2000000000;
while(st <= dr && ok) {
mij = (st+dr)/2;
copie = mij;
s=0; putere=5;
while(copie/putere > 0) {
s = s + copie/putere;
putere*=5;
}
if (s == p)
ok=0;
else if (s > p)
dr = mij-1;
else
st = mij+1;
}
if (ok) {
mij = -1;
}
else {
mij = mij - mij%5;
}
fout<<mij;
fin.close();
fout.close();
return 0;
}
