Mai intai trebuie sa te autentifici.
Cod sursa(job #799580)
Utilizator | Data | 19 octombrie 2012 14:37:29 | |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<fstream>
using namespace std;
int i,j,n,k,x,p,ok,s,q,u;
ifstream in("fact.in");
ofstream out("fact.out");
int main()
{
in>>p;
if(p==0){
out<<1;
return 0;
}
else
{
q=5;
u=5*p;
while(q<=u)
{
if((u+q)%2==0)
i=(u+q)/2;
else
i=(u+q)/2-2;
x=5;
while(x<=i)
{
k=i/x;
s=s+k;
x=x*5;
}
if(s==p)
{
ok=1; out<<i;
break;
}
if(s<p)
{
q=i+5;
}
else
u=i-5;
s=0;
}
}
if(ok==0)
out<<-1;
return 0;
}