Cod sursa(job #2353047)
| Utilizator | Data | 23 februarie 2019 20:27:42 | |
|---|---|---|---|
| Problema | Factorial | Scor | 20 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <fstream>
#define lim 2000000
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
unsigned P, start;
unsigned function(unsigned val)
{
return val / 5 + val / 25 + val / 125 + val / 625 + val / 3125 + val / 15625 + val / 78125 + val / 390625 + val / 1953125 + val / 9765625 + val / 48828125 + val / 244140625;
}
int main()
{
in >> P;
start = (P < lim ? 1 : 8000010);
for(unsigned k = start; ; ++k)
if(function(k) == P)
{
out << k;
break;
}
return 0;
}
