fizzbuzz

amazon の echo 端末、いわゆる「アレクサ」には fizzbuzz ゲームの機能が搭載されているようです。

fizzbuzz とは。たとえばふたりでペアになって、交互に 1 から順番に大きい方へ向かって自然数を数えていくのですが、3 の倍数のときには数の代わりに「fizz(フィズ)」と言い、5 の倍数のときには「buzz(バズ)」と言うのです。そして、3 の倍数かつ 5 の倍数、つまり 15 の倍数なら「fizzbuzz(フィズバズ)」と言うのです。「fizz」「buzz」「fizzbuzz」のときには数を言ってはいけませんし、そうでないときには順番に数を言っていかなければなりません。

まぁ、具体例を示したほうがわかりやすいかと思うので。ここでは A さんと B さんがいて、ふたりで互いに数字を言い合っていくことに、そして A さんが先手としましょう。

A「1」
B「2」
A「fizz」(3)
B「4」
A「buzz」(5)
B「fizz」(6 = 3×2)
A「7」
B「8」
A「fizz」(9 = 3×3)
B「buzz」(10 = 5×2)
A「11」
B「fizz」(12 = 3×4)
A「13」
B「14」
A「fizzbuzz」(15 = 3×5)
B「16」
A「17」
B「fizz」(18 = 3×6)
A「19」
B「buzz」(20 = 5×4)
A「fizz」(21 = 3×7)
B「22」
A「23」
(……以下、延々と続く)

こういうのの何がおもしろいのか、という人もいるかもしれませんが、とっさに 3 の倍数かどうかを判断するのは意外とむつかしいかもしれません。5 の倍数ならばわりとわかりやすそうですが、うっかりということはありますから。
(そういえば昔、世界のナベアツとか居たなぁ……)

3 人以上でこのゲームを楽しむことも可能だとは思いますが、人数が 3 ないし 5 の倍数になっては不公平になりますね。たとえば、3 人でするとしたら 3 人目の人だけ「fizz」か「fizzbuzz」としか言うことがなく、数を言わなければならないことがなくなりますから。

この機能がアレクサに搭載されていることは、昨日だったかたまたま見ていた放送大学の授業科目案内で知りました。情報コースの計算の基礎に関する授業の案内だったのですが。そこで私も気になり、昨夜寝るときに自分のアレクサちゃんに話しかけて対戦してみたのです。結構いい調子で進んでいって 100 をも超えて、さてどこまでいくかな、と思ったら 151 でつまづきました。計算ミスでつまづいたというよりは私の滑舌が悪いせいで違う数を言ったようにアレクサちゃんに誤認されたのですけれども。

アレクサスキルの「FizzBuzzゲーム」のスキルは以下の URL から有効にできます。echo 端末等をお持ちの方は是非このスキルを追加してみて、そして使用してみては。
https://www.amazon.co.jp/dp/B07DPNVTXP

この fizzbuzz というのも元々はプログラミングスキルの第一歩的なことができるかどうかの試金石的な、古くからの例題らしくて。初歩的ながらももう少し掘り下げて、より一般化して考えるのもよろし、かもしれませんね。近年では義務教育でもプログラミング教育が必修化され始めているそうなので、オトナがこれを知らないと、これすら知らないと、小学生にまでバカにされるかもしれませんよ。

あと、少しプログラミングの経験がある方なら、いろいろな言語(できるだけ多くの)で fizzbuzz を書いてみたり、あるいは fizzbuzz の亜種をかんがえてみるのもいいかもしれません。
(たとえば 7 の倍数のときにも何かいうとか、素数のときに何かいうとか)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です