やってみよう!Excelを使ったウラムの螺旋の書き方
公開日
2020年9月22日
更新日
2020年9月22日
こんにちは。和からの数学講師の岡本です。今回は、以前マスログで紹介した「ウラムの螺旋」を、Excelを使って描いていきます。もちろん、描き方は他にもっといい方法があるかもしれませんが、参考までにご覧ください。
この記事の主な内容
1.復習「ウラムの螺旋」
そもそもウラムの螺旋とは何だったのか、軽くおさらいします。ポーランドの数学者スタニスワフ・マルチン・ウラムは、退屈な会議中にある落書きをしました。
それは、数字を1から順に渦巻状に書いていき、素数の部分だけ、黒く塗りつぶすというもの。一見何の規則もないように見える素数ですが、この作業を繰り返し、遠くから模様を眺めてみると、なんだか横線や縦線、斜め線などが目立ち、なにやら「規則」らしきものが浮かび上がります。つかめそうで、なかなかつかめないのが素数であり、いまだにこの模様・規則の完全な解明には至っていません。詳しい内容については以前のマスログをご覧ください。
2.Excelを使って描いてみよう①「形を整える」
大雑把な方針は、「セルに数字を打ち込み、素数の部分だけ塗りつぶす」というものです。まずは形を整えます。具体的には、各セルの大きさをおおよそ正方形に近いものにしたいので、列を選択し、幅を「2.5」にします(もちろん、わかりやすく2.5にしているだけですが、正方形に近ければなんでも構いません)。
すると、下地が出来上がってきます。まさに“セル”ゲームの始まりのようです。
3.Excelを使って描いてみよう②「コピー機能で渦を描く」
ただ色を塗るだけでは面白くないので、ちょっとした工夫をしてみます。
まず、始まりの位置(ウラムの螺旋の中心になる位置)に「1」と打ちます(今回は簡単のため、始まりのセルを「E5」とします)。
そして、隣のセルに「E5+1」。渦巻状に数を並べるので、次はその上に「F5+1」。さらにその左に「F4+1」。
そこからコピー機能を使い、その左を埋めます。この要領で進めていくと、「E5」の数字から1ずつ足された数字が渦巻状に並びます。
はじめはわかりづらいですが、渦が大きくなるにつれて「コピー機能」の有用性に気づきます。
4.Excelを使って描いてみよう②「素数判定」
どこでもいいですが、右側の空いているセルにつぎのような「呪文」を入力します。
=IF(B2=2,1,IF(MIN(MOD(B2,SEQUENCE(SQRT(B2),1,2)))=0,””,MIN(MOD(B2,SEQUENCE(SQRT(B2),1,2)))))
この「呪文」は、その対象となっているマス(今回であれば、B2、つまり「37」。)が「素数であれば1を出力し、そうでなければ、“空白”とする」というものです。(※ただし、ここで使っている「SEQUENCE関数」は、2020年9月現在Office 365でのみ使用可能な関数です。今後実装される予定だそうです)。この部分の数学的な内容はまた次回お話しようと思います。
とにかく、あとはこのセルを横にコピーし、縦にコピーすれば、数字を入力していた部分全体の「素数判定」が完了します。
最後に、「条件付き書式」→「カラースケール」を使って数字の色分けを行います。今回は空白か「1」しかないので、完全に2色で塗り分けられます。なお、色のルールは自由にカスタマイズできます。
しかも、最初のセルは「1」で作っていますが、ここを違う数(例えば41など)に変えると、模様も変化します!楽しいですね!これがExcelを使った数学アートの醍醐味です。
5.さいごに
いかがでしたでしょうか。今回はExcelを使ったウラムの螺旋という「模様」を描いてみました。その他にもExcelを使って数学的な模様を描いたり、アートとしての数学を、「数学」を学びながら体感することができます。これについては以前のマスログで詳しくまとめていますので、興味のある方は是非ご覧ください。
和からではご自身のペースで学びたいことを学びたいだけ学ぶことができます。算数や数学の苦手意識克服、お仕事で使う計算から実務に役立つデータ分析まで、幅広く対応いたします。ご興味がある方はぜひ一度無料セミナー、無料個別カウンセリングにご相談ください。
<文/岡本健太郎>