第22講 完全数の探索
第5話 リュカテスト
リュカテストとは、
数列数列a
漸化的定義
で定義するとき、
78図2で割り切れるとき、
図2は素数であるというものです。
何言ってるか分からない?
ですよね。

具体例がないと分かりませんよね。
99
0870354で割り切れます。
このとき、09=7は素数だという判定方法です。
さらに、
026

0945
では割り切れませんから0897=15は素数でないというわけです。
次も見てみましょう。
078525

08787でわりきれますから、
M=31が素数というわけです。

尚、実際のリュカテストの運用は、
図1
を使います。
2番目の式は、図2図2で割ったときの余りを図3の値とするという意味です。
これは
図4
という整数の性質を使っています。
aとbの両者をpで割ったときの余りが等しいとき、
aとbはpを法として合同であるといい、
図5
と表記します。この表記法を使うと先の性質は、
図6
と表すことが出来ます。
abをpで割ったときの余りを計算するには、
図7を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で割った余りを計算する方が遙かに楽です。
図8
を使って、
M=31が素数であることを確認するには、
図9
でよいことになります。
31で割り切れるということは、
余りが0であるということでしたね。


では、このリュカテストを利用して完全数を求めるプログラムを
作りましょう。

では、リュカテストを利用して
図10
を実現するマクロを作って下さい。

第4話へ 第6話へ
004

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入門へ
本サイトトップへ