1780 - Fractie
De la Universitas MediaWiki
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 n!/mx 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. 60 = 5 * 2 * 2 * 2 * 3.
Rezolvare
def validare_date(n, m):
# Verifică dacă n și m sunt numere întregi pozitive
if isinstance(n, int) and isinstance(m, int) and n > 0 and m > 0:
return True
else:
return False
if __name__ == '__main__':
# Citește datele de intrare de la utilizator
n, m = map(int, input().split())
# Validează datele de intrare
if validare_date(n, m):
# Efectuează aceeași calculație ca în codul original
p = 0
for i in range(1, n+1):
aux = i
if aux % m == 0:
while aux % m == 0:
p += 1
aux = aux // m
print(p)
else:
print("Datele de intrare nu corespund restricțiilor impuse.")