0388 - Numarul Divizorilor Pari: Difference between revisions
Diana Butuza (talk | contribs) |
Robert Manc (talk | contribs) No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 12: | Line 12: | ||
: 6 | : 6 | ||
; Ieșire | ; Ieșire | ||
: Datele | : Datele de intrare corespund restricțiilor impuse. | ||
: 2 | : 2 | ||
<br> | <br> | ||
Line 18: | Line 18: | ||
: 12 | : 12 | ||
; Ieșire | ; Ieșire | ||
: Datele | : Datele de intrare corespund restricțiilor impuse. | ||
: 4 | : 4 | ||
<br> | <br> | ||
Line 24: | Line 24: | ||
: -20 | : -20 | ||
; Ieșire | ; Ieșire | ||
: Datele | : Datele de intrare nu corespund restricțiilor impuse. | ||
<br> | <br> | ||
== Explicație == | == Explicație == | ||
Line 59: | Line 59: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Explicație == | |||
Codul calculează numărul de divizori pari ai unui număr întreg dat și verifică validitatea datelor de intrare. Se folosește o funcție pentru validare și o funcție pentru calculul numărului de divizori pari. La rulare se verifică dacă numărul dat de utilizator este valid și se apelează funcția pentru calculul numărului de divizori pari. |
Latest revision as of 09:52, 25 April 2023
Cerinţa[edit | edit source]
Se dă un număr natural numit ”numar”. Să se determine câți divizori pari are acest număr.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul natural ”numar”.
Date de ieşire[edit | edit source]
Programul afișează pe ecran numărul ”numarul_divizorilor_pari”, reprezentând numărul divizorilor pari ai lui ”numar”.
Restricții și precizări[edit | edit source]
- numar ∈ Ν
- 0 ⩽ numar ⩽ 1.000.000.000
Exemplu[edit | edit source]
- Intrare
- 6
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 2
- Intrare
- 12
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 4
- Intrare
- -20
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Explicație[edit | edit source]
Divizorii pari ai lui 6 sunt 2 și 6.
Divizorii pari ai lui 12 sunt 2, 4, 6, 12.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line> def validare_date(numar):
flag = False if numar.isdigit(): if 0 <= int(numar) <= 1_000_000_000: flag = True return flag
def nr_divizori(numar):
if numar % 2 == 0: numarul_divizorilor_pari = 1 else: numarul_divizorilor_pari = 0 for i in range(1, numar // 2 + 1): if numar % i == 0: if i % 2 == 0: numarul_divizorilor_pari += 1 print(numarul_divizorilor_pari)
if __name__ == '__main__':
numar = input() if validare_date(numar): print("\nDatele de intrare corespund restricțiilor impuse.\n") nr_divizori(int(numar)) else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>
Explicație[edit | edit source]
Codul calculează numărul de divizori pari ai unui număr întreg dat și verifică validitatea datelor de intrare. Se folosește o funcție pentru validare și o funcție pentru calculul numărului de divizori pari. La rulare se verifică dacă numărul dat de utilizator este valid și se apelează funcția pentru calculul numărului de divizori pari.