2019-○△□-解説
- 考案国:ウクライナ
- 正解
- 「4, 3, 2, 3, 2, 1, 1, 5, 1」
- 説明
- 複数の解き方が考えられます。ひとつの正解例を説明します。
- ルールをよく見ると、奇数個の円(●)を作る命令はないことがわかります。そこで、6個の円(●)を作り、ボタン5で3個を消すことを考えましょう。6個の円(●)を作るには、3個の三角(▲)があればボタン1で作れます。このようにして、「3個の三角(▲)を作る」という中間目標ができました。これは「4, 3, 2, 3, 2」の順にボタンを押すことで作ることが可能です。
1) (ボタン4)
2) (ボタン3)
3) (ボタン2)
4) (ボタン3)
5) (ボタン2)
6) (ボタン1)
7) (ボタン1)
8) (ボタン5)
9) (ボタン1)
- 実際のコンピュータでは
- この問題では、ボタンは形式言語の規則を表していました。形式言語では、初期の語(この問題では2つの四角(■■))を規則によって別の語に置き換えていくことができます。
- コンピュータの世界では、プログラミング言語は形式言語で、この問題のような構文規則で定義されています。そして、「ifは分岐を表す」のような構文の意味も定義されます。