Cod sursa(job #713519)
| Utilizator | Data | 14 martie 2012 18:41:27 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include<fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long i,j,n,m,k,s,t,r,p,val;
long cauta(long x,long y)
{
long a;
m=((x+y)/2)*5;
r=5;
k=0;
while(m>=r)
{
k+=m/r;
r*=5;
}
a=-1;
if(k<val)
{
if(x!=m/5)
{
a=cauta(m/5,y);
}
}
if(k>val)
if(m/5!=y)
a=cauta(x,m/5);
if(k==val)
a=m;
return a;
}
int main()
{
f>>val;
n=cauta(0,2000000000);
if(n==-1)
g<<-1;
else
n=(n/5)*5;
if(n==0)
g<<1;
if(n>0)
g<<n;
return 0;
}