数学パズルに挑戦してみよう!
  1. プログラミング脳を鍛える数学パズルに挑戦してみよう!

プログラミングにあった脳を鍛える!
数学パズルに挑戦してみよう!

数字パズルでプログラミング脳が鍛えられる?

数字パズルでプログラミング脳が鍛えられる?

子供がプログラミングを習得していく過程において、初めは視覚的、感覚的な理解でもいいと思います。しかし学習が進むにつれ、コーディングに役立つ「アルゴリズム」を覚えると理解が深まります。アルゴリズムとはコンピュータで計算を行う際の「計算方法」です。

子供にはアルゴリズムを覚える前段階として、簡単な計算や数学パズルでその考え方を学ばせてはいかがでしょうか。計算問題や数字パズルをゲーム感覚で解くことで、プログラミング的思考を育てていくこともできます。

問題に挑戦してみよう!

アルゴリズムというのはコンピュータでの計算方法ですが、ある目的を効率よく達成するにはどうしたらいいかといった「やり方」とも言えます。例えばキャベツを千切りにする場合、葉の一枚一枚を順番に千切りにしていくのは非効率ですから、数枚をまとめて刻むのというのが誰もが考える方法でしょう。このようにどうしたら少ない手間と短い時間で目的を達成するかを考える力を、計算問題で鍛えることができます。

アルゴリズム 計算問題

野球チームのファンが8グループあります。各グループにつき、そのグループ以外のファン数の合計を電卓で計算して求めてください。ただしその電卓は「-」キーが壊れているものとします。

通常なら最初に全てのファングループの合計を計算し、そこから各グループの人数を差し引けば簡単に計算できます。電卓の「-」キーが使えれば計算回数は15回で済むのですが、すべて足し算だけで計算すると、計算回数は8×7=56回となってしまいます。しかし工夫すると「-」キーを使わなくても18回で計算することが可能です。では、どうやったらできるでしょうか?

問題の解答と解説

AからHまで8グループの、それぞれのメンバー数を横に並べてみましょう。そしてトーナメントのように隣り合う数字を合計していきます。

トーナメントの準決勝のところまで、隣り合う数字を合計していきます。すると、2グループの合計と4グループの合計がそれぞれ計算できました。

そして8グループの内6グループの合計をそれぞれ計算していきます。すでに4グループの合計までは出ているので、4グループの合計と2グループの合計をそれぞれ足し算します。ここまでの足し算は、合計10回です。ボックス内の数字が足し算の解なので、これを数えるとわかりやすいでしょう。

ここまで計算すれば、あとは2つの数字を足し算するだけで答えが出ます。例えば、一番右のHグループ以外の合計を出したい場合、AからFまでの合計は48人と計算が出ていますので、それにGグループの12人を足せば60人とわかります。他のAからGまでについても同様の足し算をするだけです。ということで各グループ以外のファン数の合計を出すには、前工程までの10回にここでの8グループ分の足し算をプラスし、18回の計算で算出可能ということがわかります。

PAGE TOP