Cod sursa(job #1758661)
| Utilizator | Data | 17 septembrie 2016 16:59:59 | |
|---|---|---|---|
| Problema | Factorial | Scor | 55 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.59 kb |
#include<fstream>
using namespace std;
int nrzero(int x)
{
int nr=0,n5=5;
while(n5<=x)
{
nr+=x/n5;
n5*=5;
}
return nr;
}
int main()
{
ifstream cin("fact.in");
ofstream cout("fact.out");
int n,ans;
cin>>n;
int st=1,dr=100000000;
if(n==0)
cout<<1;
while(st<=dr)
{
int mij=(st+dr)/2;
if(nrzero(mij)<n)
st=mij+1;
else
{
dr=mij-1;
ans=mij;
}
}
if(nrzero(ans)==n)
cout<<ans;
else
cout<<-1;
}
