3211 - Cumpărături1: Difference between revisions
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 | ==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>