4221 - Bune: Difference between revisions

From Bitnami MediaWiki
mNo edit summary
mNo edit summary
 
Line 1: Line 1:
Sursa: [https://www.pbinfo.ro/probleme/4221/bune]
== Enunț ==
Două numere sunt “bune” dacă cifra maximă a unui număr coincide cu cifra minimă din celălalt sau invers.
== Cerinţa ==
== Cerinţa ==
Două numere sunt “bune” dacă cifra maximă a unui număr coincide cu cifra minimă din celălalt sau invers. Se dau două numere primul_numar și al_doilea_numar numere naturale. Verificați dacă cele două numere sunt “bune” și afișați cifra comună. Dacă cele două numere nu sunt bune, afișați NU.
Se dau două numere primul_numar și al_doilea_numar numere naturale. Verificați dacă cele două numere sunt “bune” și afișați cifra comună. Dacă cele două numere nu sunt bune, afișați NU.
 
== Date de intrare ==
== Date de intrare ==
Programul citește de la tastatură două numere primul_numar și al_doilea_numar.
Programul citește de la tastatură două numere primul_numar și al_doilea_numar.
== Date de ieşire ==
== Date de ieşire ==
Programul va afișa pe ecran daca cele doua numere sunt "bune", precizand cifra comuna, iar in caz contrar va afisa "NU".
Programul va afișa pe ecran daca cele doua numere sunt "bune", precizand cifra comuna, iar in caz contrar va afisa "NU".
== Restricții și precizări ==
== Restricții și precizări ==
* cele doua numere primul_numar si al_doilea_numar vor fi mai mici decât 1.000.000.000
* cele doua numere primul_numar si al_doilea_numar vor fi mai mici decât 1.000.000.000
Line 19: Line 26:
: NU
: NU


== Rezolvare ==
==Rezolvare ==
 
===Rezolvare ver.1 ===
<syntaxhighlight lang="python" line>
 
def verificare_cifra_comuna(primul_numar, al_doilea_numar):
    maxim_primul_numar = max(str(primul_numar))  # Obținem cifra maximă din primul număr
    maxim_al_doilea_numar = max(str(al_doilea_numar))  # Obținem cifra maximă din al doilea număr
    minim_primul_numar = min(str(primul_numar))  # Obținem cifra minimă din primul număr
    minim_al_doilea_numar = min(str(al_doilea_numar))  # Obținem cifra minimă din al doilea număr
 
    if maxim_primul_numar == minim_al_doilea_numar:  # Verificăm dacă cifra maximă din primul număr este egală cu cifra minimă din al doilea număr
        return f"{primul_numar} și {al_doilea_numar} sunt 'bune', cifra comună fiind {maxim_primul_numar}."
    elif minim_primul_numar == maxim_al_doilea_numar:  # Verificăm dacă cifra minimă din primul număr este egală cu cifra maximă din al doilea număr
        return f"{primul_numar} și {al_doilea_numar} sunt 'bune', cifra comună fiind {minim_primul_numar}."
    else:
        return "NU"
 
if __name__ == '__main__':
    primul_numar = int(input("Introduceți primul număr: "))
    al_doilea_numar = int(input("Introduceți al doilea număr: "))
 
    rezultat = verificare_cifra_comuna(primul_numar, al_doilea_numar)  # Apelăm funcția pentru a verifica cifra comună
 
    print(rezultat)
 
</syntaxhighlight>
 
=== Rezolvare ver. 2 ===
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>


primul_numar = int(input("Introduceți primul număr: "))
primul_numar = int(input("Introduceți primul număr: ")) # Citim primul număr de la tastatură
al_doilea_numar = int(input("Introduceți al doilea număr: "))
al_doilea_numar = int(input("Introduceți al doilea număr: ")) # Citim al doilea număr de la tastatură


maxim_primul_numar = max(str(primul_numar))
maxim_primul_numar = max(str(primul_numar)) # Obținem cifra maximă din primul număr
maxim_al_doilea_numar = max(str(al_doilea_numar))
maxim_al_doilea_numar = max(str(al_doilea_numar)) # Obținem cifra maximă din al doilea număr
minim_primul_numar = min(str(primul_numar))
minim_primul_numar = min(str(primul_numar)) # Obținem cifra minimă din primul număr
minim_al_doilea_numar = min(str(al_doilea_numar))
minim_al_doilea_numar = min(str(al_doilea_numar)) # Obținem cifra minimă din al doilea număr


if maxim_primul_numar == minim_al_doilea_numar:
if maxim_primul_numar == minim_al_doilea_numar: # Verificăm dacă cifra maximă din primul număr este egală cu cifra minimă din al doilea număr
     print(f"{primul_numar} și {al_doilea_numar} sunt 'bune', cifra comună fiind {maxim_primul_numar}.")
     print(f"{primul_numar} și {al_doilea_numar} sunt 'bune', cifra comună fiind {maxim_primul_numar}.")
elif minim_primul_numar == maxim_al_doilea_numar:
elif minim_primul_numar == maxim_al_doilea_numar: # Verificăm dacă cifra minimă din primul număr este egală cu cifra maximă din al doilea număr
     print(f"{primul_numar} și {al_doilea_numar} sunt 'bune', cifra comună fiind {minim_primul_numar}.")
     print(f"{primul_numar} și {al_doilea_numar} sunt 'bune', cifra comună fiind {minim_primul_numar}.")
else:
else:
     print("NU")
     print("NU") # Dacă nu există o cifră comună, afișăm mesajul "NU"
 


</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 10:23, 12 May 2023

Sursa: [1]

Enunț[edit | edit source]

Două numere sunt “bune” dacă cifra maximă a unui număr coincide cu cifra minimă din celălalt sau invers.

Cerinţa[edit | edit source]

Se dau două numere primul_numar și al_doilea_numar numere naturale. Verificați dacă cele două numere sunt “bune” și afișați cifra comună. Dacă cele două numere nu sunt bune, afișați NU.

Date de intrare[edit | edit source]

Programul citește de la tastatură două numere primul_numar și al_doilea_numar.

Date de ieşire[edit | edit source]

Programul va afișa pe ecran daca cele doua numere sunt "bune", precizand cifra comuna, iar in caz contrar va afisa "NU".

Restricții și precizări[edit | edit source]

  • cele doua numere primul_numar si al_doilea_numar vor fi mai mici decât 1.000.000.000

Exemplu[edit | edit source]

Intrare
123 3456
Ieșire
3
Intrare
123 67
Ieșire
NU

Rezolvare[edit | edit source]

Rezolvare ver.1[edit | edit source]

<syntaxhighlight lang="python" line>

def verificare_cifra_comuna(primul_numar, al_doilea_numar):

   maxim_primul_numar = max(str(primul_numar))  # Obținem cifra maximă din primul număr
   maxim_al_doilea_numar = max(str(al_doilea_numar))  # Obținem cifra maximă din al doilea număr
   minim_primul_numar = min(str(primul_numar))  # Obținem cifra minimă din primul număr
   minim_al_doilea_numar = min(str(al_doilea_numar))  # Obținem cifra minimă din al doilea număr
   if maxim_primul_numar == minim_al_doilea_numar:  # Verificăm dacă cifra maximă din primul număr este egală cu cifra minimă din al doilea număr
       return f"{primul_numar} și {al_doilea_numar} sunt 'bune', cifra comună fiind {maxim_primul_numar}."
   elif minim_primul_numar == maxim_al_doilea_numar:  # Verificăm dacă cifra minimă din primul număr este egală cu cifra maximă din al doilea număr
       return f"{primul_numar} și {al_doilea_numar} sunt 'bune', cifra comună fiind {minim_primul_numar}."
   else:
       return "NU"

if __name__ == '__main__':

   primul_numar = int(input("Introduceți primul număr: "))
   al_doilea_numar = int(input("Introduceți al doilea număr: "))
   rezultat = verificare_cifra_comuna(primul_numar, al_doilea_numar)  # Apelăm funcția pentru a verifica cifra comună
   print(rezultat)

</syntaxhighlight>

Rezolvare ver. 2[edit | edit source]

<syntaxhighlight lang="python" line>

primul_numar = int(input("Introduceți primul număr: ")) # Citim primul număr de la tastatură al_doilea_numar = int(input("Introduceți al doilea număr: ")) # Citim al doilea număr de la tastatură

maxim_primul_numar = max(str(primul_numar)) # Obținem cifra maximă din primul număr maxim_al_doilea_numar = max(str(al_doilea_numar)) # Obținem cifra maximă din al doilea număr minim_primul_numar = min(str(primul_numar)) # Obținem cifra minimă din primul număr minim_al_doilea_numar = min(str(al_doilea_numar)) # Obținem cifra minimă din al doilea număr

if maxim_primul_numar == minim_al_doilea_numar: # Verificăm dacă cifra maximă din primul număr este egală cu cifra minimă din al doilea număr

   print(f"{primul_numar} și {al_doilea_numar} sunt 'bune', cifra comună fiind {maxim_primul_numar}.")

elif minim_primul_numar == maxim_al_doilea_numar: # Verificăm dacă cifra minimă din primul număr este egală cu cifra maximă din al doilea număr

   print(f"{primul_numar} și {al_doilea_numar} sunt 'bune', cifra comună fiind {minim_primul_numar}.")

else:

   print("NU")  # Dacă nu există o cifră comună, afișăm mesajul "NU"

</syntaxhighlight>