3666 - Ver Nr Imp Div: Difference between revisions
Robert Manc (talk | contribs) Pagină nouă: == Cerinţa == Se dă un număr natural nenul, numit ”'''numar'''”. Să se testeze dacă ”'''numar'''” are număr impar de divizori. == Date de intrare == Programul citește de la tastatură un număr natural ”'''numar'''”. == Date de ieşire == Programul va afișa pe ecran mesajul '''da''' dacă '''numar''' are număr impar de divizori şi mesajul '''nu''' în caz contrar. == Restricții și precizări == * numar ∈ Ν * 0 ⩽ numar ⩽ 1.000.000.000 ==... |
Robert Manc (talk | contribs) No edit summary |
||
Line 12: | Line 12: | ||
: 4 | : 4 | ||
; Ieșire | ; Ieșire | ||
: Datele | : Datele de intrare corespund restricțiilor impuse. | ||
: da | : da | ||
== Rezolvare == | == Rezolvare == |
Latest revision as of 10:27, 11 April 2023
Cerinţa[edit | edit source]
Se dă un număr natural nenul, numit ”numar”. Să se testeze dacă ”numar” are număr impar de divizori.
Date de intrare[edit | edit source]
Programul citește de la tastatură un număr natural ”numar”.
Date de ieşire[edit | edit source]
Programul va afișa pe ecran mesajul da dacă numar are număr impar de divizori şi mesajul nu în caz contrar.
Restricții și precizări[edit | edit source]
- numar ∈ Ν
- 0 ⩽ numar ⩽ 1.000.000.000
Exemplu[edit | edit source]
- Intrare
- 4
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- da
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 verificare_paritate(numar):
suma_divizorilor = 0 for i in range(1, numar // 2 + 1): if numar % i == 0: suma_divizorilor += i suma_divizorilor += numar if suma_divizorilor % 2 == 1: print("da") else: print("nu")
if __name__ == '__main__':
numar = input() if validare_date(numar): print("\nDatele de intrare corespund restricțiilor impuse.\n") verificare_paritate(int(numar)) else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>