Cod sursa(job #457772)
Utilizator | Velicu Stefan veliki.velicu | Data | 21 mai 2010 14:58:58 |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.47 kb |
#include<fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int zero(int n)//nr de zerouri de la sfarsitul lui n!
{
int nr=0;
while(n!=0)
{
nr+=n/5;
n/=5;
}
return nr;
}
int binar(int x)
{
int i;
int pos = 1<<30;
for(i=0; pos!=0; pos/=2)
if(zero(i+pos) < x)
i+=pos;
return 1+i;
}
int main()
{
int p,n;
in>>p;
n=binar(p);
if(zero(n)!=p)
out<<"-1\n";
else
out<<n<<"\n";
return 0;
}