3328 - Balaur: Difference between revisions

From Bitnami MediaWiki
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==
Programul va afișa pe ecran numărul <code>S</code> reprezentând numărul de capete pe care le va avea balaurul după <code>n</code> zile.
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
:Date de intrare gresite!
: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 main():
def balaur(n):
     n = int(input())
     # Î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.
     if not conditii(n):
        return print("Date de intrare gresite!")
 
     print(5 * n)
     print(5 * n)




if __name__ == "__main__":
if __name__ == "__main__":
     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">

  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>