3211 - Cumpărături1: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: ==Cerință== 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ă...
 
Line 13: Line 13:
Programul afișează pe ecran textul '''precizat''' în enunț.
Programul afișează pe ecran textul '''precizat''' în enunț.


==Restricții de precizări==
==Restricții și precizări==
1 ≤ '''S , c , n''' ≤ 1.000.000.000
1 ≤ '''S , c , n''' ≤ 1.000.000.000



Revision as of 19:14, 2 April 2023

Cerință

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

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

Date de ieșire

Programul afișează pe ecran textul precizat în enunț.

Restricții și precizări

1 ≤ S , c , n ≤ 1.000.000.000

Exemplul 1

Intrare
15 4 3
Ieșire
N

Explicatie

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

Rezolvare ver. 1

<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>