1780 - Fractie: Difference between revisions
Paul Matei (talk | contribs) Pagină nouă: == 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... |
Diana Butuza (talk | contribs) |
||
Line 1: | Line 1: | ||
== Cerinţa == | == 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. | 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 == | == Date de intrare == | ||
Programul citește de la tastatură numerele '''n''' si '''m'''. | Programul citește de la tastatură numerele '''n''' si '''m'''. |
Latest revision as of 11:50, 9 May 2023
Cerinţa[edit | edit source]
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[edit | edit source]
Programul citește de la tastatură numerele n si m.
Date de ieşire[edit | edit source]
Programul va afișa pe ecran numarul x.
Restricții și precizări[edit | edit source]
- 2 ≤ m ≤ n ≤ 10000
- m este prim.
Exemplu[edit | edit source]
- Intrare
- 5 5
- Ieșire
- 1
Explicație[edit | edit source]
5! = 120. 60 = 5 * 2 * 2 * 2 * 3.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line> 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.")
</syntaxhighlight>