Recent Changes - Search:

Oktatás

* Programozás 1
  + feladatsor
  + GitHub oldal

* Szkriptnyelvek
  + feladatsor
  + quick link

Teaching

* Programming 1 (BI)
  ◇ exercises
  ◇ quick link

* Scripting Languages
  ◇ exercises
  ◇ quick link

teaching assets


Félévek

* aktuális (2023/24/2)
* archívum


Linkek

* kalendárium
   - munkaszüneti napok '20
* tételsorok
* jegyzetek
* szakdolgozat / PhD
* ösztöndíjak
* certificates
* C lang.
* C++
* C#
* Clojure
* D lang.
* Java
* Nim
* Scala


[ edit | logout ]
[ sandbox | passwd ]

Py3 /

20180307f

AoC2017, Day 8, Part 1 (I Heard You Like Registers)

Adott egy program, ami csak regiszterműveleteket tartalmaz. Minden egyes művelet a következőkből áll: a módosítandó regiszter neve, növelni vagy csökkenteni szeretnénk a regiszter értékét, maga az érték (amivel növeljük vagy csökkentjük a regiszter tartalmát), ill. egy feltétel. Ha a feltétel hamis, akkor a hozzá tartozó műveletet nem hajtjuk végre, vagyis ekkor nem módosul a regiszter értéke. Minden regiszter kezdeti értéke 0. A műveletek így néznek ki (példa):

b inc 5 if a > 1
a inc 1 if b < 5
c dec -10 if a >= 1
c inc -20 if c == 10

Ezen műveleteket az alábbiak szerint kellene végrehajtani:

  • Mivel az "a" regiszter kezdeti értéke 0, ezért nem nagyobb 1-nél, így "b" értéke nem módosul.
  • "b" értéke 0, ez kisebb mint 5, ezért "a"-t megnöveljük 1-gyel (0-ról 1-re).
  • "a" értéke már 1, a feltétel igaz, így "c"-t csökkentjük -10 -zel (azaz növeljük 10-zel). "c" értéke 10 lesz.
  • "c" értéke 10, igaz a feltétel, így "c"-t megnöveljük -20 -szal (azaz csökkentjük 20-szal). "c" értéke -10 lesz.

A műveletek végrehajtása után az összes regiszter közül az "a"-ban lesz a legnagyobb érték (vagyis: 1).

A feltételekben előfordulhat még a (kisebb vagy egyenlő) és a != (nem egyenlő) is. Sajnos a regiszterek neveit nem tudjuk előre, így ezt nekünk kell majd megállapítani.

Feladat: hajtsuk végre az input állományban található műveleteket. A műveletek végrehajtása után nézzük végig a regiszterek értékeit. Ezek közül melyik a legnagyobb érték?

A feladat bemenete innen tölthető le. A feladat eredeti kiírása itt olvasható el.

Cloud City

  

Blogjaim, hobbi projektjeim

* The Ubuntu Incident
* Python Adventures
* @GitHub
* heroku
* extra
* haladó Python
* YouTube listák


Debrecen | la France


[ edit ]

Edit - History - Print *** Report - Recent Changes - Search
Page last modified on 2018 March 08, 00:08