3666 - Ver Nr Imp Div: Difference between revisions

From Bitnami MediaWiki
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 ==...
 
No edit summary
 
Line 12: Line 12:
: 4
: 4
; Ieșire
; Ieșire
: Datele introduse corespund restricțiilor impuse.
: Datele de intrare corespund restricțiilor impuse.
: da
: da
== Rezolvare ==
== Rezolvare ==

Latest revision as of 10:27, 11 April 2023

Cerinţa[edit]

Se dă un număr natural nenul, numit ”numar”. Să se testeze dacă ”numar” are număr impar de divizori.

Date de intrare[edit]

Programul citește de la tastatură un număr natural ”numar”.

Date de ieşire[edit]

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]

  • numar ∈ Ν
  • 0 ⩽ numar ⩽ 1.000.000.000

Exemplu[edit]

Intrare
4
Ieșire
Datele de intrare corespund restricțiilor impuse.
da

Rezolvare[edit]

<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>