Cod sursa(job #287395)
| Utilizator | Data | 24 martie 2009 20:23:31 | |
|---|---|---|---|
| Problema | Factorial | Scor | 45 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <iostream>
#include <fstream.h>
#include <math.h>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int res(unsigned long n,unsigned long r)
{ r=0;
while(n)
{ r=r+n/5;
n/=5;
}
return r;
}
int main()
{ const int x=-1;
unsigned long p,n,r=0;
f>>p;
n=5*p;
r=res(n,r);
if(r==p)
g<<n;
else
{ while(n)
{n-=5;
r=res(n,r);
if(r==p) {g<<n;break;}
else
if(r<p)
{g<<x;break;
}
}
}
f.close();
g.close();
return 0;
}
