見出し画像

やってみよう!Excelを使ったウラムの螺旋の書き方

今回は、以前紹介した「ウラムの螺旋」を、Excelを使って描いていきます。もちろん、描き方は他にもっといい方法があるかもしれませんが、参考までにご覧ください。

この記事の主な内容
1.復習「ウラムの螺旋」
2.Excelを使って描いてみよう①「形を整える」
3.Excelを使って描いてみよう②「コピー機能で渦を描く」
4.Excelを使って描いてみよう②「素数判定」
5.さいごに


1.復習「ウラムの螺旋」

そもそもウラムの螺旋とは何だったのか、軽くおさらいします。ポーランドの数学者スタニスワフ・マルチン・ウラムは、退屈な会議中にある落書きをしました。

画像1

それは、数字を1から順に渦巻状に書いていき、素数の部分だけ、黒く塗りつぶすというもの。一見何の規則もないように見える素数ですが、この作業を繰り返し、遠くから模様を眺めてみると、なんだか横線や縦線、斜め線などが目立ち、なにやら「規則」らしきものが浮かび上がります。つかめそうで、なかなかつかめないのが素数であり、いまだにこの模様・規則の完全な解明には至っていません。詳しい内容については以前のマスログをご覧ください。

2.Excelを使って描いてみよう①「形を整える」

大雑把な方針は、「セルに数字を打ち込み、素数の部分だけ塗りつぶす」というものです。まずは形を整えます。具体的には、各セルの大きさをおおよそ正方形に近いものにしたいので、列を選択し、幅を「2.5」にします(もちろん、わかりやすく2.5にしているだけですが、正方形に近ければなんでも構いません)。

画像2

すると、下地が出来上がってきます。まさに“セル”ゲームの始まりのようです。

画像3

3.Excelを使って描いてみよう②「コピー機能で渦を描く」

ただ色を塗るだけでは面白くないので、ちょっとした工夫をしてみます。
まず、始まりの位置(ウラムの螺旋の中心になる位置)に「1」と打ちます(今回は簡単のため、始まりのセルを「E5」とします)。

画像4

そして、隣のセルに「E5+1」。渦巻状に数を並べるので、次はその上に「F5+1」。さらにその左に「F4+1」。

画像5

そこからコピー機能を使い、その左を埋めます。この要領で進めていくと、「E5」の数字から1ずつ足された数字が渦巻状に並びます。

画像6

はじめはわかりづらいですが、渦が大きくなるにつれて「コピー機能」の有用性に気づきます。

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でのみ使用可能な関数です。今後実装される予定だそうです)。この部分の数学的な内容はまた次回お話しようと思います。

画像7

とにかく、あとはこのセルを横にコピーし、縦にコピーすれば、数字を入力していた部分全体の「素数判定」が完了します。

画像8

最後に、「条件付き書式」→「カラースケール」を使って数字の色分けを行います。今回は空白か「1」しかないので、完全に2色で塗り分けられます。なお、色のルールは自由にカスタマイズできます。

画像9

画像10

しかも、最初のセルは「1」で作っていますが、ここを違う数(例えば41など)に変えると、模様も変化します!楽しいですね!これがExcelを使った数学アートの醍醐味です。

画像11

5.さいごに

いかがでしたでしょうか。今回はExcelを使ったウラムの螺旋という「模様」を描いてみました。その他にもExcelを使って数学的な模様を描いたり、アートとしての数学を、「数学」を学びながら体感することができます。これについては以前のマスログで詳しくまとめていますので、興味のある方は是非ご覧ください。

和からではご自身のペースで学びたいことを学びたいだけ学ぶことができます。算数や数学の苦手意識克服、お仕事で使う計算から実務に役立つデータ分析まで、幅広く対応いたします。ご興味がある方はぜひ一度無料セミナー、無料個別カウンセリングにご相談ください。

<文/岡本健太郎>

「数学教室和(なごみ)」では算数からリーマン予想まで、あなたの数学学習を全力サポートします。お問い合わせはこちらから。お問い合わせページへ

この記事が気に入ったらサポートをしてみませんか?