0813 - Globuri: Difference between revisions

From Bitnami MediaWiki
Created page with "== Cerința == Se dau două numere naturale '''numar1''' și '''numar2'''. Calculați ultima cifră a sumei lor. == Date de intrare == Programul citește de la tastatură numerele '''numar1''' și '''numar2'''. == Date de ieșire == În cazul în care datele de intrare nu corespund restricțiilor impuse se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse.". În caz contrar, se va afișa mesajul "Datele de intrare corespund restricțiilor impuse.",..."
 
No edit summary
 
Line 1: Line 1:
== Cerința ==  
== Cerința ==  
Se dau două numere naturale '''numar1''' și '''numar2'''. Calculați ultima cifră a sumei lor.
Într-un brad sunt '''globuri_albe''' globuri albe, de două ori mai multe globuri roșii, iar globuri verzi cu 3 mai puține ca numărul de globuri roșii. Câte globuri sunt în total?
== Date de intrare ==
== Date de intrare ==
Programul citește de la tastatură numerele '''numar1''' și '''numar2'''.
Programul citește de la tastatură numărul natural '''globuri_albe'''.
== Date de ieșire ==
== Date de ieșire ==
În cazul în care datele de intrare nu corespund restricțiilor impuse se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse.".
În cazul în care datele de intrare nu corespund restricțiilor impuse se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse.".
În caz contrar, se va afișa mesajul "Datele de intrare corespund restricțiilor impuse.", pe următorul rând afișându-se ultima cifră a sumei '''numar1 + numar2'''.
În caz contrar, se va afișa mesajul "Datele de intrare corespund restricțiilor impuse.", pe următorul rând afișându-se numărul total de globuri.
== Restricții și precizări ==
== Restricții și precizări ==
* numar1, numar2 ∈ Ν
* globuri_albe ∈ Ν
* 1 ⩽ numar1, numar2 ⩽ 1.000.000
* 2 ⩽ globuri_albe ⩽ 1.000
== Exemplu ==
== Exemplu ==
; Intrare
; Intrare
: 25
: 7
: 78
; Ieșire
; Ieșire
: Datele introduse corespund restricțiilor impuse.
: Datele introduse corespund restricțiilor impuse.
: 3
: 32
<br>
<br>
; Intrare
; Intrare
: asd
: asd
: 10
; Ieșire
; Ieșire
: Datele introduse nu corespund restricțiilor impuse.
: Datele introduse nu corespund restricțiilor impuse.
Line 25: Line 23:
; Intrare
; Intrare
: -20
: -20
: 2.12
; Ieșire
: Datele introduse nu corespund restricțiilor impuse.
<br>
; Intrare
: 2.4
; Ieșire
; Ieșire
: Datele introduse nu corespund restricțiilor impuse.
: Datele introduse nu corespund restricțiilor impuse.
Line 32: Line 34:
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>
def validare_date(numar):
def validare_date(numar):
     return numar.isdigit() and 1 <= int(numar) < 1_000_000
     return numar.isdigit() and 2 <= int(numar) <= 1_000




def uciv(numar1, numar2):
def globuri(globuri_albe):
     suma = numar1 + numar2
     globuri_rosii = 2 * globuri_albe
    globuri_verzi = globuri_rosii - 3
      
      
     ucifra_suma = suma % 10
     total_globuri = globuri_albe + globuri_rosii + globuri_verzi
      
      
     print(ucifra_suma)
     print(total_globuri)
      
      


if __name__ == "__main__":
if __name__ == "__main__":
     numar1 = input()
     globuri_albe = input()
    numar2 = input()
      
      
     if validare_date(numar1) and validare_date(numar2):
     if validare_date(globuri_albe):
         numar1, numar2 = int(numar1), int(numar2)
         globuri_albe = int(globuri_albe)
          
          
         print("Datele introduse corespund restricțiilor impuse.")
         print("Datele introduse corespund restricțiilor impuse.")
         uciv(numar1, numar2)
         globuri(globuri_albe)
     else:
     else:
         print("Datele introduse nu corespund restricțiilor impuse.")
         print("Datele introduse nu corespund restricțiilor impuse.")
 
   
</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 10:11, 24 December 2022

Cerința[edit | edit source]

Într-un brad sunt globuri_albe globuri albe, de două ori mai multe globuri roșii, iar globuri verzi cu 3 mai puține ca numărul de globuri roșii. Câte globuri sunt în total?

Date de intrare[edit | edit source]

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

Date de ieșire[edit | edit source]

În cazul în care datele de intrare nu corespund restricțiilor impuse se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse.". În caz contrar, se va afișa mesajul "Datele de intrare corespund restricțiilor impuse.", pe următorul rând afișându-se numărul total de globuri.

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

  • globuri_albe ∈ Ν
  • 2 ⩽ globuri_albe ⩽ 1.000

Exemplu[edit | edit source]

Intrare
7
Ieșire
Datele introduse corespund restricțiilor impuse.
32


Intrare
asd
Ieșire
Datele introduse nu corespund restricțiilor impuse.


Intrare
-20
Ieșire
Datele introduse nu corespund restricțiilor impuse.


Intrare
2.4
Ieșire
Datele introduse nu corespund restricțiilor impuse.

Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

<syntaxhighlight lang="python" line> def validare_date(numar):

   return numar.isdigit() and 2 <= int(numar) <= 1_000


def globuri(globuri_albe):

   globuri_rosii = 2 * globuri_albe
   globuri_verzi = globuri_rosii - 3
   
   total_globuri = globuri_albe + globuri_rosii + globuri_verzi
   
   print(total_globuri)
   

if __name__ == "__main__":

   globuri_albe = input()
   
   if validare_date(globuri_albe):
       globuri_albe = int(globuri_albe)
       
       print("Datele introduse corespund restricțiilor impuse.")
       globuri(globuri_albe)
   else:
       print("Datele introduse nu corespund restricțiilor impuse.")
   

</syntaxhighlight>