Cod sursa(job #1647097)
| Utilizator | Data | 10 martie 2016 19:00:19 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.63 kb |
#include <iostream>
#include <fstream>
const char inFile[] = "fact.in";
const char outFile[] = "fact.out";
using namespace std;
int main()
{
ifstream fin(inFile);
ofstream fout(outFile);
long i, s, j, p;
fin >> p;
if (p==0) fout<<1;
else if (p<5) fout<<5*p;
else for (i=p*4;i<=p*5;i=i+5)
{
s = 0;
for(j = 5; j <= i; j = j * 5)
s = s + i / j;
if(s > p) {
fout << -1;
break;
}
else if (s == p) {
fout << i / 5 * 5;
break;
}
}
}
