0388 - Numarul Divizorilor Pari: Difference between revisions
Robert Manc (talk | contribs) No edit summary |
Robert Manc (talk | contribs) No edit summary |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== Cerinţa == | == Cerinţa == | ||
Se dă un număr natural numit ”'''numar'''”. Să se determine | Se dă un număr natural numit ”'''numar'''”. Să se determine câți divizori pari are acest număr. | ||
== Date de intrare == | == Date de intrare == | ||
Programul citește de la tastatură numărul natural ”'''numar'''”. | Programul citește de la tastatură numărul natural ”'''numar'''”. | ||
Line 6: | Line 6: | ||
Programul afișează pe ecran numărul ”'''numarul_divizorilor_pari'''”, reprezentând numărul divizorilor pari ai lui ”'''numar'''”. | Programul afișează pe ecran numărul ”'''numarul_divizorilor_pari'''”, reprezentând numărul divizorilor pari ai lui ”'''numar'''”. | ||
== Restricții și precizări == | == Restricții și precizări == | ||
* numar ∈ Ν | |||
* 0 ⩽ numar ⩽ 1.000.000.000 | * 0 ⩽ numar ⩽ 1.000.000.000 | ||
== Exemplu == | == Exemplu == | ||
Line 11: | Line 12: | ||
: 6 | : 6 | ||
; Ieșire | ; Ieșire | ||
: Datele | : Datele de intrare corespund restricțiilor impuse. | ||
: 2 | : 2 | ||
<br> | <br> | ||
Line 17: | Line 18: | ||
: 12 | : 12 | ||
; Ieșire | ; Ieșire | ||
: Datele | : Datele de intrare corespund restricțiilor impuse. | ||
: 4 | : 4 | ||
<br> | |||
; Intrare | |||
: -20 | |||
; Ieșire | |||
: Datele de intrare nu corespund restricțiilor impuse. | |||
<br> | |||
== Explicație == | == Explicație == | ||
Divizorii pari ai lui '''6''' | Divizorii pari ai lui '''6''' sunt '''2''' și '''6'''.<br> | ||
Divizorii pari ai lui '''12''' sunt '''2''', '''4''', '''6''', '''12'''. | Divizorii pari ai lui '''12''' sunt '''2''', '''4''', '''6''', '''12'''. | ||
== Rezolvare == | == Rezolvare == | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
Line 51: | 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.