3328 - Balaur: Difference between revisions
Pagină nouă: ==Cerința== A fost o dată un balaur cu <code>6</code> capete. Într-o zi Făt-Frumos s-a supărat şi i-a tăiat un cap. Peste noapte i-au crescut alte <code>6</code> capete în loc. Pe acelaşi gât! A doua zi, Făt-Frumos iar i-a tăiat un cap, dar peste noapte balaurului i-au crescut în loc alte <code>6</code> capete … şi tot aşa timp de <code>n</code> zile. În cea de a ( <code>n+1</code> )-a zi, Făt-Frumos s-a plictisit şi a plecat acasă! Scrieţi un program c... |
No edit summary |
||
(4 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
Programul citește de la tastatură numărul <code>n</code>. | Programul citește de la tastatură numărul <code>n</code>. | ||
==Date de ieșire== | ==Date de ieșire== | ||
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse." | |||
Pe următorul rând se va afișa numărul <code>S</code> reprezentând numărul de capete pe care le va avea balaurul după <code>n</code> zile. | |||
În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse." | |||
==Restricții și precizări== | ==Restricții și precizări== | ||
Line 17: | Line 21: | ||
:3 | :3 | ||
;Ieșire | ;Ieșire | ||
:Datele de intrare corespund restricțiilor impuse. | |||
:15 | :15 | ||
Line 28: | Line 33: | ||
:0 | :0 | ||
;Ieșire | ;Ieșire | ||
: | :Datele de intrare nu corespund restricțiilor impuse. | ||
==Rezolvare== | ==Rezolvare== | ||
<syntaxhighlight lang="python" line="1"> | <syntaxhighlight lang="python" line="1"> | ||
#3328 Balaur | #3328 Balaur | ||
def conditii(n): | def conditii(n): | ||
Line 39: | Line 43: | ||
def | def balaur(n): | ||
# Înmulțim cu 5 și nu cu 6 pentru că la finalul oricărei zi, balaurului i se va tăia un cap. | |||
# După n zile, balaurul va avea 5*n capete. | |||
print(5 * n) | print(5 * n) | ||
if __name__ == "__main__": | if __name__ == "__main__": | ||
n = int(input()) | |||
if not conditii(n): | |||
print("Datele de intrare nu corespund restricțiilor impuse.") | |||
else: | |||
print("Datele de intrare corespund restricțiilor impuse.") | |||
balaur(n) | |||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 07:50, 5 May 2023
Cerința[edit | edit source]
A fost o dată un balaur cu 6
capete. Într-o zi Făt-Frumos s-a supărat şi i-a tăiat un cap. Peste noapte i-au crescut alte 6
capete în loc. Pe acelaşi gât! A doua zi, Făt-Frumos iar i-a tăiat un cap, dar peste noapte balaurului i-au crescut în loc alte 6
capete … şi tot aşa timp de n
zile. În cea de a ( n+1
)-a zi, Făt-Frumos s-a plictisit şi a plecat acasă!
Scrieţi un program care citeşte de la tastatură n
, numărul de zile, şi care afişează pe ecran câte capete avea balaurul după n
zile.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n
.
Date de ieșire[edit | edit source]
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse."
Pe următorul rând se va afișa numărul S
reprezentând numărul de capete pe care le va avea balaurul după n
zile.
În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse."
Restricții și precizări[edit | edit source]
1 ≤ n ≤ 1.000.000.000
Exemplu 1[edit | edit source]
- Intrare
- 3
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 15
Explicație[edit | edit source]
Iniţial balaurul avea 6
capete. În prima zi Făt-Frumos i-a tăiat un cap şi i-au rămas 5
.
Peste noapte i-au crescut alte 6
, deci a doua zi dimineaţa balaurul avea 11
capete. În cea de a doua zi Făt-Frumos îi mai taie balaurului un cap, deci balaurul rămâne cu 10
capete. Peste noapte îi mai cresc 6
, astfel că a treia zi dimineaţă balaurul avea 16
capete. Dar în cea de a treia zi Făt-Frumos îi mai taie balaurului un cap, deci după cea de a treia zi balaurul a rămas cu 15
capete.
Exemplu 2[edit | edit source]
- Intrare
- 0
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line="1">
- 3328 Balaur
def conditii(n):
return 1 <= n <= 1_000_000_000
def balaur(n):
# Înmulțim cu 5 și nu cu 6 pentru că la finalul oricărei zi, balaurului i se va tăia un cap. # După n zile, balaurul va avea 5*n capete. print(5 * n)
if __name__ == "__main__":
n = int(input())
if not conditii(n): print("Datele de intrare nu corespund restricțiilor impuse.") else: print("Datele de intrare corespund restricțiilor impuse.") balaur(n)
</syntaxhighlight>