Cod sursa(job #2797354)
| Utilizator | Data | 9 noiembrie 2021 19:14:40 | |
|---|---|---|---|
| Problema | Factorial | Scor | 15 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
//Lema:Pentru n natural si p si q numere prime cu p<q avem v_p(n!)>=v_q(n!)
//Dem lema: Rezulta imediat din formula lui Legendre
//Din lema trebuie sa aflam doar v_5(n!)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int legendre(int N, int p)
{
int s = 0, i=1;
while (pow(p, i) <= N)
{
s += N / pow(p, i);
i++;
}
return s;
}
int main()
{
ifstream fin("fact.in");
ofstream fout("fact.out");
int N=1, P;
fin >> P;
while (legendre(N, 5) < P)
{
N++;
}
fout << N;
}