Cod sursa(job #2987684)
Utilizator | Data | 2 martie 2023 18:09:16 | |
---|---|---|---|
Problema | Factorial | Scor | 40 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.77 kb |
#include <fstream>
using namespace std;
ifstream cin ("fact.in");
ofstream cout ("fact.out");
int main()
{
int p,l=1,r=10000005,x,cm,rez,m;
bool ok=1;
cin>>p;
if(p==0)
{
cout<<1;
return 0;
}
else{
while(l<=r && ok)
{
m=(l+r)/2;
x=0;
cm=m;
while(cm)
{
x+=cm;
cm/=5;
}
if(x<p)
{
l=m+1;
}
else if(x>p)
{
r=m-1;
}
else{
ok=0;
rez=m*5;
}
}
}
if(ok)
cout<<-1;
else cout<<rez;
return 0;
}