3211 - Cumpărături1

From Bitnami MediaWiki

Cerință[edit | edit source]

Gigel are S lei. O ciocolata costă c lei, iar o napolitană costă n lei. Gigel poate să cumpere fie ciocolate, fie napolitane, cu condiția să cheltuiască întreaga sumă. Scrieți un program care să citească numerele S c n și să afișeze pe ecran:

textul CN dacă Gigel poate alege să cumpere ciocolate sau napolitane; textul C dacă Gigel poate să cumpere numai ciocolate; textul N dacă Gigel poate să cumpere numai napolitane; textul nimic dacă Gigel nu poate să cumpere nici ciocolate, nici napolitane.

Date de intrare[edit | edit source]

Programul citește de la tastatură numerele naturale S C N.

Date de ieșire[edit | edit source]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran textul precizat în enunț. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

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

1 ≤ S , c , n ≤ 1.000.000.000

Exemplul 1[edit | edit source]

Intrare
15 4 3
Ieșire
Datele de intrare corespund restricțiilor impuse.
N

Explicatie[edit | edit source]

Gigel are 15 lei, o ciocolată costă 4 lei, iar o napolitană costă 3 lei. Poate cumpăra 5 napolitane, dar nu poate cumpăra ciocolate, deoarece nu ar cheltui întreaga sumă.

Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

<syntaxhighlight lang="python" line="1" start="1"> def validare(S, c, n):

   # Verificăm dacă valorile intră în intervalul [1, 1000000000].
   if 1 <= S <= 1000000000 and 1 <= c <= 1000000000 and 1 <= n <= 1000000000:
       # Returnăm True dacă valorile sunt valide.
       return True
   else:
       # Altfel, returnăm False.
       return False


def alege_produsele(S, c, n):

   # Verificăm condițiile cerinței și afișăm mesajul corespunzător.
   if S % c == 0 and S % n != 0:
       print("C")
   elif S % c != 0 and S % n == 0:
       print("N")
   elif S % c == 0 and S % n == 0:
       print("CN")
   else:
       print("nimic")


if __name__ == '__main__':

   # Citim valorile de la tastatură.
   S = int(input("Introduceti suma de bani pe care Gigel o are: "))
   c = int(input("Introduceti pretul unei ciocolate: "))
   n = int(input("Introduceti pretul unei napolitane: "))
   # Verificăm dacă valorile sunt valide.
   if validare(S, c, n):
       print("Datele de intrare corespund restricțiilor impuse.")
       # Apelăm funcția alege_produsele dacă valorile sunt valide.
       alege_produsele(S, c, n)
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>