Cod sursa(job #789584)
| Utilizator | Data | 18 septembrie 2012 18:31:47 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include<fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int zero(int n)
{
int p=5,nr=0;
while(n/p>0){nr+=n/p; p*=5;}
return nr;
}
int cbin(int p)
{
int l=1,r=(1<<31)-1,m;
while(l<r)
{
m=((long long)l+r)/2;
if(zero(m)>=p)r=m; else l=m+1;
}
if(zero(r)==p)return r;
return -1;
}
int main()
{
int p;
f>>p;
g<<cbin(p)<<endl;
f.close();
g.close();
return 0;
}
