Cod sursa(job #1654192)
| Utilizator | Data | 16 martie 2016 21:15:05 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include<fstream>
using namespace std;
ifstream cin("fact.in");
ofstream cout("fact.out");
int n,k,p,rez;
int nrde_zerouri(int n){
int u=0;
for(int i=5;i<=n;i*=5)u=u+(n/i);
return u;
}
int main(){
cin>>n;
if(n==0)cout<<"1";
else{
int st=1;
int dr=1000000000;
rez=-1;
while(st<=dr){
int pivot=(dr-st)/2+st;
int o=nrde_zerouri(pivot);
if(o==n){rez=pivot;dr=pivot-1;}
else if(o>n)dr=pivot-1;
else st=pivot+1;
}
cout<<rez;
}
}
