0061 - Afisare Divizori Comuni: Difference between revisions
Robert Manc (talk | contribs) No edit summary |
Robert Manc (talk | contribs) No edit summary |
||
Line 12: | Line 12: | ||
: 24 36 | : 24 36 | ||
; Ieșire | ; Ieșire | ||
: Datele | : Datele de intrare corespund restricțiilor impuse. | ||
: 1 2 3 4 6 12 | : 1 2 3 4 6 12 | ||
== Rezolvare == | == Rezolvare == |
Revision as of 10:24, 11 April 2023
Cerinţa
Să se scrie un program care afișează divizorii comuni ai două numere naturale citite de la tastatură
Date de intrare
Programul citește de la tastatură numerele numar1 și numar2.
Date de ieşire
Programul afișează pe ecran, în ordine crescătoare, divizorii comuni ai numerelor numar1 și numar2, separați printr-un spațiu.
Restricții și precizări
- numar ∈ Ν
- 0 < numar1, numar2 < 1.000.000.000
Exemplu
- Intrare
- 24 36
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 1 2 3 4 6 12
Rezolvare
<syntaxhighlight lang="python" line> def validare_date(numar1, numar2):
flag = False if numar1.isdigit() and numar2.isdigit(): if 0 < int(numar1) < int(numar2) <= 1_000_000_000: flag = True return flag
def divizori_comuni(numar1, numar2):
divizori = [] for i in range(1, min(numar1, numar2) + 1): if numar1 % i == 0 and numar2 % i == 0: divizori.append(i) return divizori
if __name__ == "__main__":
numar1 = input() numar2 = input() if validare_date(numar1, numar2): print("\nDatele de intrare corespund restricțiilor impuse.\n") divizori = divizori_comuni(int(numar1), int(numar2)) for divizor in divizori: print(divizor, end=" ") else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>