Cod sursa(job #1856705)
Utilizator | Data | 25 ianuarie 2017 12:30:43 | |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int nrdezero(int nr){
int sum=0;
while(nr){
sum+=nr/5;
nr/=5;
}
return sum;
}
int main(){
int p,st=1,dr=1<<30,mij;
fin>>p;
while(st<dr){
mij=(st+dr)/2;
if(nrdezero(mij)>=p)dr=mij;
else st=mij+1;
}
if(nrdezero(st)==p)fout<<st;
else fout<<-1;
return 0;
}