どうもです!
今回は僕の通勤過程で思い付いたネタを題材にします。
1.発端
僕の会社では、SUICAを1万円単位でチャージし、チャージ額を経費申請することで交通費を支給してもらうという形をとっているのですが、1度ラッキーパターンが起こったことを思い出しました。
「スゲェ、ちゃんと0円まで使い切った!」
消費税が8%になってから、1の位まで運賃が発生し、なかなか1万円をきっちり使い切るのは難しいです。
僕の3年半に及ぶ社会人生活の中でも、中途半端に残金が残った状態でチャージすることが大半でした。
しかし、1度だけSUICAの残金が0円になるまで使い切ったことがあります。
これを思い出した時、記事のネタになりそうなゲームを思い付きました。
暇とお金がある方は是非遊んでみてください。
その名も、
「1万円SUICAゲーム」
です!
2.ルール説明
(用意するもの)
・1万円までチャージしたSUICA
(手順)
①電車に乗る
②どこかの駅で降り、SUCIAで運賃を精算
③①と②を繰り返す
④限界までチャージ残高が減ったらゲーム終了を宣言
(勝利条件)
終了時点でのチャージ残高が少ない方
3.ネタばらし
4.最適解
計算するも何も、運賃情報が無ければ計算することはできません。
ということで、まずは運賃としていくらがあるのかを知ることから始めましょう。
まさか運賃表がゲームに使われるとは思ってもいなかったでしょう・・・
短い距離を使うことが多いでしょうから、下から順に144円、185円、195円、237円、324円辺りをうまく組み合わせて10000円になる組み合わせを見つけたいところです。
Q.「144x+185y+195z+234v+324w=10000が成り立つ自然数x,y,z,v,wの組み合わせを求めよ。」
いやいや手計算じゃ無理無理~!!!
と思ったそこのあなた、便利な計算ツールがあります。
Excelの「ソルバー機能」を使うことで、試行錯誤系の計算をPCがサクッと実行してくれます。
僕は大学の講義で習って、「スゴイ機能だな~」と思っていましたが、まさか実生活で使う日が来ようとは。
いやいや、大学の知識をこんなつまらんネタに使っちゃいかんだろ・・・
ソルバー機能を知らない方が大半かと思いますので、画像付きで解説していきます。
まずは下の画像のように事前準備をします。
・目的セル→E4セル(初期値は144*50+185*50+195*50+237*50+324*50-10000=44250になっています)
なお、C2-6セルの「50」という値は任意に入力した初期値なので、ここは何でもOKです。
・目標値→最小値(下でE4≧0という条件を追加するため、なるべく0に近い値を目指すということです)
・制約条件→「C2-6セルは0以上の整数」という条件と、「E4≧0」という条件を設定しています。
後は実行を押すだけで、C2-6セルに適当な数字を入力しては計算して・・・という動きを勝手にPCが繰り返してくれます。
何百通り、何千通り位の計算なら簡単にこなしてくれるのはスゴイです。
場合によっては、「E4=0となる解が存在しない」可能性もありましたが、果たして結果は・・・?
おおっ!答えが出ました。
144*57+185*2+237*6=10000となるようです。
その他、初期値のオール50を違う値に変えると、ソルバーの別解がいくつか見つかりました。おそらく他にもあるのでしょう。
実は185円と195円だけで実現可能でした。
185*14+195*38=10000
これが一番簡単な気がします。
5.終わりに
ソルバー機能の存在を知った時、Excelの実力の片鱗を見た気がしました。
どこかでご紹介できればと考えていたので、紹介する場を持てて良かったです。
ソルバー機能さえ覚えていれば、SUICAを楽々0円まで使い切れるので、覚えておくと役に立つ・・・ことはないかw
本当に好き勝手に書いてるな~という感じですが、ネタが浮かんだら書くので次回作までお待ちを~