# PBinfo #1780 – Fractie – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerința
Se dau două numere naturale n și m, m fiind prim. Să se afle cel mai mare număr natural x, astfel încât numărul \(\frac{n!}{m^{x}}\) să fie natural.

Date de intrare
Programul citește de la tastatură numerele n si m.

Date de ieșire
Programul va afișa pe ecran numarul x.

Restricții și precizări

2 ≤ m ≤ n ≤ 10000
m este prim.

Exemplu:
Intrare

5 5
Ieșire

1
Explicație
5! = 120,  120 = 5 * 2 * 2 * 2 * 3.

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int aflare(int i, int m) {
    int x = 0;
    while (i % m == 0) {
        i = i / m;
        x++;
    } return x;
}
int main() {
    int n, m, x = 0;
    cin >> n >> m;
    if (n == 0 && m == 1) cout << 1;
    else {
        for (int i = 1; i <= n; i++)
            x = x + aflare(i, m);
        cout << x;
    } return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/1780)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/1780/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-1780/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
