3210 - Cumpărături

From Bitnami MediaWiki
Revision as of 09:27, 10 February 2023 by Bogdan.Pop (talk | contribs) (Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/3210/cumparaturi 3210 - Cumparaturi] ---- == Cerinţa == O cutie cu bomboane costă '''cost_cutie''' lei. Gigel are '''suma_gigel''' lei. Determinați câte cutii cu bomboane poate cumpăra Gigel și câți lei trebuie să mai primească pentru a cumpăra încă o cutie. == Date de intrare == Programul citește de la tastatură numărul '''cost_cutie''' și '''suma_gigel''', fiecare pe rând nou. == Date de ieșire == Pe ecran se va afi...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Sursa: 3210 - Cumparaturi


Cerinţa[edit | edit source]

O cutie cu bomboane costă cost_cutie lei. Gigel are suma_gigel lei. Determinați câte cutii cu bomboane poate cumpăra Gigel și câți lei trebuie să mai primească pentru a cumpăra încă o cutie.

Date de intrare[edit | edit source]

Programul citește de la tastatură numărul cost_cutie și suma_gigel, fiecare pe rând nou.

Date de ieșire[edit | edit source]

Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse.", urmat, pe rândul următor, de numerele raspuns_cutii și raspuns_cutie_aditioanala, separate printr-un spațiu, reprezentând numărul de cutii cu bomboane pe care Gigel le poate cumpăra cu suma_gigel lei, respectiv suma necesară pentru a cumpăra încă o cutie. În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, programul va afișa "Datele de intrare nu corespund restricțiilor impuse.".

Restricţii şi precizări[edit | edit source]

  • cost_cutie, suma_gigel ∈ ℕ
  • 1 ⩽ cost_cutie, suma_gigel ⩽ 1.000.000.000

Exemplu[edit | edit source]

Intrare
4
9
Ieșire
Datele introduse corespund restricțiilor impuse.
2 3


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


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


Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

<syntaxhighlight lang="python" line>

  1. 3210 - Cumparaturi

def validare_date_bani(cost_cutie: str, suma_gigel: str) -> bool:

   if cost_cutie.isdigit() and suma_gigel.isdigit():
       if 1 <= int(cost_cutie) <= 1_000_000_000 and 1 <= int(suma_gigel) <= 1_000_000_000:
           return True
       else:
           return False
   else:
       return False
   

def cumparaturi(cost_cutie: int, suma_gigel: int) -> int:

   raspuns_cutii: int = suma_gigel // cost_cutie
   raspuns_cutie_aditionala = (raspuns_cutii + 1) * cost_cutie - suma_gigel
   
   return raspuns_cutii, raspuns_cutie_aditionala


if __name__ == "__main__":

   cost_cutie = input()
   suma_gigel = input()
   
   if validare_date_bani(cost_cutie, suma_gigel):
       cost_cutie, suma_gigel = int(cost_cutie), int(suma_gigel)
       
       print("Datele de intrare corespund restricțiilor impuse.")
       print(*cumparaturi(cost_cutie, suma_gigel))
       
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")
       

</syntaxhighlight>