Hatena::ブログ(Diary)

わさっき RSSフィード

2017年08月13日

[] 倍数の数直線

いきなりですが問題です.

2の倍数であり,3の倍数でもあり,4の倍数でもあり,5の倍数でもあり,6の倍数でもあるけれども,7の倍数ではなく,8の倍数でもなく,9の倍数でもないという,最小の正の整数は何ですか?

さっそくですが解答です…60ですね.というのも,2,3,4,5,6の最小公倍数は60であり,この数は,7でも,8でも,9でも割り切れないからです.

続いてですが問題です.

0から60までの整数について,2の倍数,3の倍数,…,9の倍数を見つけて,分かりやすく表示しましょう.

これについては画像です.

f:id:takehikom:20170813095649p:image

もしブラウザ表示の都合で縮小表示されたら,オリジナルサイズをどうぞ.

数直線の右端が60で,2から5までの倍数には○がついており,7から9までの倍数には○がついていません.またそれより左には,5つに連続して○がついている数がなく,最初の問題について,60が答えであることを,視覚化したものとなっています.

ところでこの画像は,約数や倍数を考える際には0を対象としないという,小学校の算数に基づいています.0は任意の整数の倍数という立場の画像も作成しましたので,こちらよりご覧ください.

きっかけは,大学図書館にあった,啓林館の算数教科書『わくわく算数』(平成16年1月31日検定済)です.https://twitter.com/takehikom/status/895752622426079232から始まるツイートをするより前に,画像を生成していましたが,生成のためのRubyスクリプトを手直しし,Gistで公開しました.

作成したスクリプトファイル(number-line-drawer.rb)は,オプション指定により以下の描画をします.

  • 目盛りつきの数直線を描きます.目盛りの数は任意に指定できます.またフォント指定があれば,各目盛りの上に,0から最大値までの整数値を書くこともできます.
  • 目盛りつきの数直線を上下方向に並べて,それぞれの左に「xの倍数」を書き,それぞれの倍数に関する数直線を構成します.xは,1から9までであれば任意に指定できます.該当する倍数に○をつけることもできます.0を倍数とする(0にも○をつける)こともできます.「〜の倍数」の代わりに,「Multiples of 〜」として英語で表記することもできます.

描画にあたっては,ImageMagickのconvertコマンドを使用しています.画像の上に画像を貼り付ける際,貼り付け対象の画像サイズを知るのに,ImageMagickのidentifyコマンドも使用しています.

フォント名などはスクリプト内に書かず,環境変数FNから取得するようにしました.8月11日のツイート時には,MSゴシック(msgothic.ttc)を使用していましたが,Takaoゴシック(TakaoGothic.ttf)のほうが見やすいと感じ,上の画像でも採用しています.Linuxでも動作確認をしています.内部で,高さ:幅=2:1の等幅フォントを前提としている箇所があり,プロポーショナルフォントでの動作確認をしていません.


「0は偶数だが2の倍数ではない」について,先月から今月にかけて,サブブログでいくつか記事を書きました.

本記事ではその是非に立ち入りません.むしろ「0を2(および他の整数)の倍数に入れる」にせよ「入れない」にせよ,オプション指定でどちらの図も描けるよう配慮しました.同様の問題意識で作成した記事(そしてRubyスクリプト)に,Rubyで6÷2(1+2)があります.

トラックバック - http://d.hatena.ne.jp/takehikom/20170813/1502586495