読みながらJavaの基礎をマスターしましょう

こつこつ無駄なことはやらない ~素数~

素数とは2以上の整数で、1と自分自身以外の約数を持たないもののことを言います。小さい方から行くと

2,3,5,7,11,13,17,19,23、・・・

となります。9は3×3、21は3×7なので、素数ではありません。要するに割り切れる数がないものということですね。

ではネコに思いついた数が素数かどうかを調べてもらいましょう。

https://scratch.mit.edu/projects/196520825/

ある数が素数かどうかを、ネコはどうやってチェックしているのか、ちょっと考えてみましょう。

例えば11について考えます。

11は2で割り切れるか?
11は3で割り切れるか?
11は4で割り切れるか?
11は5で割り切れるか?
11は6で割り切れるか?
11は7で割り切れるか?
11は8で割り切れるか?
11は9で割り切れるか?
11は10で割り切れるか?

全部の場合に割り切れないので、めでたく素数だとわかります。

 

ちょっと待ってください!本当にそんなにたくさんチェックしなければならないのでしょうか?

もし2で割りきれれば、その数は素数でないことがいきなりわかってしまいます。それ以降の、3や4や5では調べる必要はなく「素数でない」ことがわかります。

10が素数かどうか調べてみましょう。

10は2で割り切れるか?  ←ここでいきなり素数でないことが判明!以降は調べる必要はなし
10は3で割り切れるか?
10は4で割り切れるか?
10は5で割り切れるか?
10は6で割り切れるか?
10は7で割り切れるか?
10は8で割り切れるか?
10は9で割り切れるか?

もちろん2行目以降も全部調べてもいいのですが、無駄ですよねぇ。

「こつこつ無駄なことをする」のは、とっても無駄です。当たり前!!身の回りを見渡してそんなことが横行してないか時々チェックしてみましょう。

割り切れるかどうかをチェックする回数は、少なければ少ないほどいいです。大きな数が素数かどうかを調べるとき、チェックの回数でネコの答えを出すまでの時間が変わってきます。だいたいネコがチェックするのに疲れてしまいます。他にも無駄がないか考えて、素数のチェックをみんなもやってみましょう。

さて素数は無限に存在することが分かっていますが、先ごろ(2018年1月3日)史上最大の素数が発見されました。なんと2324万9425桁!!素数なんて何の役に立つの?とお思いの方もあるかと思いますが、実は素数は暗号の技術に利用されていて、SuicaやPASMO、クレジットカードでも活躍しているんですね。大きな素数を求めるのはロマンでもあり、ITの先端技術の要に影響を与えることでもあるんですね。

 

和太鼓の製造/販売、張り替え/修理は

目次

PAGETOP
Copyright © たのしいJava入門とScratchと猫 All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.
PAGE TOP