第22講 完全数の探索
第5話 リュカテスト
リュカテストとは、
数列を
で定義するとき、
がで割り切れるとき、
は素数であるというものです。
何言ってるか分からない?
ですよね。
具体例がないと分かりませんよね。
はで割り切れます。
このとき、=7は素数だという判定方法です。
さらに、
は
では割り切れませんから=15は素数でないというわけです。
次も見てみましょう。
は
でわりきれますから、
=31が素数というわけです。
尚、実際のリュカテストの運用は、
を使います。
2番目の式は、をで割ったときの余りをの値とするという意味です。
これは
という整数の性質を使っています。
aとbの両者をpで割ったときの余りが等しいとき、
aとbはpを法として合同であるといい、
と表記します。この表記法を使うと先の性質は、
と表すことが出来ます。
abをpで割ったときの余りを計算するには、
をpで割ったときの余りを計算する方が楽です。
例えば、
17÷3=5・・・2
52÷3=17・・・1
17×52を3で割ったときの余りを計算するには
2×1=2を3で割った余りを計算すればよく、
それは2です。
実際に、
17×52=884
884÷3=394・・・2
ですね。
884を3で割った余りを計算するより、
2×1=2を3で割った余りを計算する方が遙かに楽です。
を使って、
=31が素数であることを確認するには、
でよいことになります。
31で割り切れるということは、
余りが0であるということでしたね。
では、このリュカテストを利用して完全数を求めるプログラムを
作りましょう。
では、リュカテストを利用して
を実現するマクロを作って下さい。
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
vc++講義へ
excel 2013 2010 2007 vba入門へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
eclipse java 入門へ
excel 2016 vba 入門へ
小学生からエンジニアまでのRuby入門へ
本サイトトップへ