さぁやってまいりました、計算機シミュレーターこと「スーパーマリオメーカー」のお時間です。前回は「45桁の入力」「1画面結果表示」「繰り返し計算」を実現しましたが(関連リンク)、今回は新たな技術革新により、「10進数表示」「ルート2の近似値計算」という、どう考えてもマリオメーカーでできるとは思えない2つの新機能が実現しました。
まずは、10進法で数字を表現するため、1から順に数え上げていく、「カウンター」について。上部にある音符ブロックをたたくとブラックパックンが出現し、10匹たまると9匹を下に落とし、残り1匹は桁上がりするようにできています
このカウンターを3つ横に並べることで、999まで10進数で表現できる3桁のカウンターになります。99の状態に1を加えると、しっかり2回桁上がりして3桁目のカウンターにブラックパックンが1匹落ちてきました。
さらに、このカウンターを応用して、「ルート2の近似値」が求められます。カウンター上部にあるブラックパックンを運ぶために設置されたレールを斜め45度にすることで、レールの大きさ(ブラックパックンが降ってくるまでにかかる時間)がルート2倍に。この差を利用し、同時にカウントを開始するとルート2倍の差が出る、というわけです。さらに、ルート2倍のカウンターが100になった瞬間であれば、通常サイズのカウンターの数字がそのまま小数第2位までの近似値となります。天才か。
実際に測定してみると、答えは142になりました。見事に計測できています。すごすぎ。
ただし、このルート2の計算は特殊なケースであり、同じ方法でルート3の近似値を求めたりはできないそうです。また、最後にレールを円形にして円周率を求めようとしていましたが、真円にはなっていないようで正しい値は求められないという結果に。
とはいえ、今までに表現できなかったことが、また新たに表せるようになりました。そろそろ10進数での足し算が、現実的になってきました。
Copyright © ITmedia, Inc. All Rights Reserved.