3926 - Alternant 1: Difference between revisions

From Bitnami MediaWiki
Am creat de la zero.
 
mNo edit summary
Line 1: Line 1:
== Cerinţa ==
== Cerinţa ==
Se dă un număr natural n. Să se verifice dacă este sau nu alternant.
Se dă un număr natural. Să se verifice dacă este sau nu alternant.


== Explicație ==
== Explicație ==
Line 6: Line 6:


== Date de intrare ==
== Date de intrare ==
Programul citește de la tastatură numărul n.
Programul citește de la tastatură numărul.


== Date de ieşire ==
== Date de ieşire ==
Programul va afișa pe ecran mesajul da dacă n este alternant sau mesajul nu dacă nu este alternant.
Programul va afișa pe ecran mesajul da dacă numarul este alternant sau mesajul nu dacă nu este alternant.
== Restricții și precizări ==
== Restricții și precizări ==
* 0 ≤ n ≤ 1.000.000.000.000.000
* 0 ≤ numar ≤ 1.000.000.000.000.000


== Exemplu 1 ==
== Exemplu 1 ==
Line 20: Line 20:


== Exemplu 2 ==
== Exemplu 2 ==
; Intrare
; Intrare
: 8183
: 8183
Line 32: Line 31:


# Verificam daca numarul este un numar natural si contine doar cifre
# Verificam daca numarul este un numar natural si contine doar cifre
if not n.isdigit():
if not numar.isdigit():
     print("Numarul introdus nu este valid.")
     print("Numarul introdus nu este valid.")
else:
else:
     # Initializez o variabila care sa retina daca cifrele sunt pare sau impare
     # Initializez o variabila care sa retina daca cifrele sunt pare sau impare
     paritate = int(n[0]) % 2  # Initial consideram ca prima cifra e par/impar
     paritate = int(numar[0]) % 2  # Initial consideram ca prima cifra e par/impar


     # Verificam daca cifrele sunt alternate
     # Verificam daca cifrele sunt alternate
     for i in range(1, len(n)):
     for i in range(1, len(numar)):
         if int(n[i]) % 2 != paritate:  # Daca cifra curenta are o paritate diferita de cifra anterioara
         if int(numar[i]) % 2 != paritate:  # Daca cifra curenta are o paritate diferita de cifra anterioara
             paritate = int(n[i]) % 2  # Schimbam paritatea
             paritate = int(numar[i]) % 2  # Schimbam paritatea
         else:
         else:
             print("Numarul nu este alternant.")
             print("Numarul nu este alternant.")

Revision as of 14:50, 2 April 2023

Cerinţa

Se dă un număr natural. Să se verifice dacă este sau nu alternant.

Explicație

Spunem că un număr natural este alternant dacă cifrele pare alternează cu cele impare. De exemplu, numere alternante sunt 236, 6, 12345678.

Date de intrare

Programul citește de la tastatură numărul.

Date de ieşire

Programul va afișa pe ecran mesajul da dacă numarul este alternant sau mesajul nu dacă nu este alternant.

Restricții și precizări

  • 0 ≤ numar ≤ 1.000.000.000.000.000

Exemplu 1

Intrare
265
Ieșire
nu

Exemplu 2

Intrare
8183
Ieșire
da


Rezolvare

<syntaxhighlight lang="python" line>


  1. Verificam daca numarul este un numar natural si contine doar cifre

if not numar.isdigit():

   print("Numarul introdus nu este valid.")

else:

   # Initializez o variabila care sa retina daca cifrele sunt pare sau impare
   paritate = int(numar[0]) % 2  # Initial consideram ca prima cifra e par/impar
   # Verificam daca cifrele sunt alternate
   for i in range(1, len(numar)):
       if int(numar[i]) % 2 != paritate:  # Daca cifra curenta are o paritate diferita de cifra anterioara
           paritate = int(numar[i]) % 2  # Schimbam paritatea
       else:
           print("Numarul nu este alternant.")
           break
   else:
       print("Numarul este alternant.")


</syntaxhighlight>