Cod sursa(job #715992)
| Utilizator | Data | 18 martie 2012 00:40:51 | |
|---|---|---|---|
| Problema | Factorial | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.61 kb |
#include<fstream>
#define MAXN 200000002
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
//char v[MAXN];
int main()
{
int n,nr=0;
long i;
in>>n;
if(n==0)
{
out<<"1";
return 0;
}
for(i=0;nr<n;i+=25)
{
nr=nr+6;
int j=i/25;
bool ok=false;
while(j%5==0 && j!=0)
{
nr++;
j=j/5;
ok=true;
}
if(ok==true)
if(nr>n)
{
out<<"-1";
}
if(nr==n)
{
out<<i;
return 0;
}
}
nr=nr-2;
i=i-5;
while(nr>n)
{
i=i-5;
nr--;
}
if(nr==n)
{
out<<i;
return 0;
}
out<<"-1";
return 0;
}
