Cod sursa(job #2209176)
| Utilizator | Data | 2 iunie 2018 09:08:48 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int nr_0(int x){
int ans=0;
int p5=5;
while(x>=p5){
ans+=x/p5;
p5*=5;
}
return ans;
}
int main()
{ int p;
fin>> p;
int st=1;
int dr=5*p;
while(st<=dr){
int mij=(st+dr)/2;
if(nr_0(mij)<p){
st=mij+1;
} else{
dr=mij-1;
}
}
if(nr_0(st)==p){
fout<< st;
} else{
fout<< "-1";
}
return 0;
}
