Cod sursa(job #1758664)
| Utilizator | Data | 17 septembrie 2016 17:04:58 | |
|---|---|---|---|
| Problema | Factorial | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.61 kb |
#include<fstream>
using namespace std;
int nrzero(int x)
{
long long n5=5;
int nr=0;
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=2000000000;
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;
}
