Cod sursa(job #2645585)
Utilizator | Dutu Maria Maria23 | Data | 28 august 2020 23:57:27 |
---|---|---|---|
Problema | Factorial | Scor | 60 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.47 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{ ifstream fin ("fact.in");
ofstream fout ("fact.out");
int P , N;
long long st , dr , m, put;
st=1;
dr=100000000 ;
fin>>P ;
while(st<=dr)
{ put=5;
m=(st+dr)/2 ;
N=0;
while(m/put)
{ N+=m/put ;
put*=5;
}
if(N==P)
{ if(m-m%5==0)
fout<<"1";
else
fout<<m-m%5;
dr=-1;
}
else
if (N>P)
dr=m-1 ;
else
st=m+1 ;
}
if(dr!=-1)
fout<< "-1";
return 0;
}