わたしの日常に価値はありますか?

14日目 素数の判定【30日間1日1本マクロ生活】

30日間1日1本マクロ生活、14日目です。

マクロを書く準備は、0日目に記事を書きました。

マクロを書く準備早速マクロを書こうと思ったんですが、マクロって何?食えんの?って人もいると思うんで、丁寧に行こうかな、と。マクロってのは、通常は人間の手でやるような作業を、プログラムを書くことで機械に自動的にやらせるってことです。Excelの場合はVBA(Visual Basic for Application)という言語を使ってマクロを書きます。まずはその準備を。Excelを起動すると、ワークシートが現れます。ここでキーボードの「ALT+」を押してください。はキーボードの上方にあるファンクションキーの11番です。すると、このウィンドウが開...
0日目 マクロを書く準備をしよう【30日間1日1本マクロ生活】 - わたしの日常に価値はありますか?

素数の判定

昨日は、エラトステネスの篩で100以下の素数だけを表に残すということをやりました。

30日間1日1本マクロ生活、13日目です。マクロを書く準備は、0日目に記事を書きました。エラトステネスの篩中学校や高校の数学で、エラトステネスの篩について学習しませんでしたか? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 301から30までの整数を表にしてみました。まず1を消します。 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30次に2を残し、...
13日目 エラトステネスの篩(ふるい)を知ってますか?【30日間1日1本マクロ生活】 - わたしの日常に価値はありますか?

そのときに残った表がこれです。

この表に残っているのは、素数だけです。

そして、意図的に数字6個で改行をしています。

6で割って1余る数と5余る数

どうですか。2と3以外の素数は、6で割って1余る数と、6で割って5余る数だけが残っているのが分かりますか?

そりゃそうですよね。素数というのは、1と自分自身以外では割り切れない数です。

6の倍数は、当たり前ですけど6で割り切れます。

6で割って2余る数は、偶数です。2で割り切れます。

6で割って3余る数は3の倍数です。3で割り切れます。

6で割って4余る数は、偶数です。2で割り切れます。

ですから、素数の可能性があるのは6で割って1余る数と5余る数だけなんです。

自分より小さい全ての数で割り切れなければ

自分自身よりも小さい全ての数で割り切れなければ、その数は素数です。

でも、全ての数を試す必要はありません。

確認するのは2と3と、そして6で割って1余る数、5余る数だけでいいんです。

今日はコード無しで

今日はマクロを書きません。しくみだけの説明で終わります。

素数の判定については、自然数 について

これをマクロで書けば、素数の判定ができます。

そして、明日書くマクロは「Sub」ではなく「Function」で始まるマクロを書こうと思っています。

よかったら、予習してみて下さい。

Excelは便利

悔しいですが、Excelは便利です。

Microsoftにお金を払うのは癪でしょうがないんですが、Excelばかりは仕方がない。

マクロを書くようになると、Excelからは離れられないですね。

30日間、頑張ります。

モバイルバージョンを終了