自然数nが素数であるかはなぜ\sqrt{n}以下の素数を約数としてもつかどうかで判定できるのでしょうか?
素数は1と自分自身しか約数としてもたないため、自然数nが素数であるかを確かめるにはn未満の約数が1以外にないことを示す必要があります。
そのために以下のことについて考えます。
正の実数x,yについてxy=n(n:自然数)が成り立つとき、x+yの値について考えます。
相加平均と相乗平均の大小関係より
x+y\geqq2\sqrt{xy}=2\sqrt{n}
で等号成立条件はx=yであることがわかります。
xy=nよりx=yのときのそれぞれの値はx=y=\sqrt{n}だけであることがわかります。
さらに、x\neq yの場合についても調べてみます。
xの値について0<x<\sqrt{n},x>\sqrt{n}の2つの場合があるので、それぞれのときのyの値について調べると
xの値について0<x<\sqrt{n},x>\sqrt{n}の2つの場合があるので、それぞれのときのyの値について調べると
xy=nよりy=\dfrac{n}{x}
0<x<\sqrt{n}のとき
0<x<\sqrt{n}ならば\dfrac{1}{x}>\dfrac{1}{\sqrt{n}}なので
\begin{align*}\frac{n}{x}&>\frac{n}{\sqrt{n}}\\[0.5em]\therefore
y&>\sqrt{n}\end{align*}
x>\sqrt{n}のとき
x>\sqrt{n}ならば0<\dfrac{1}{x}<\dfrac{1}{\sqrt{n}}なので
\begin{align*}0<&\frac{n}{x}<\frac{n}{\sqrt{n}}\\[0.5em]\therefore0<&y<\sqrt{n}\end{align*}
以上よりxy=nを満たす正の実数x,yについて
ということがわかります。
- x=yとなるのはx=y=\sqrt{n}のときだけである。
- x\neq yならば必ずx,yの一方は\sqrt{n}より大きく、もう一方は\sqrt{n}より小さい。
これはnは必ず\sqrt{n}以下の正の約数と\sqrt{n}以上の正の約数の積で表せるということです。(nの自明な約数には1,nがありn=1\cdot
nとなるので、これが自明な\sqrt{n}以下の正の約数と\sqrt{n}以上の正の約数の積となります。)
このことから、1以外の\sqrt{n}以下の正の約数が存在するならばn以外の\sqrt{n}以上の正の約数が存在するということがいえます。
このことから、1以外の\sqrt{n}以下の正の約数が存在するならばn以外の\sqrt{n}以上の正の約数が存在するということがいえます。
ところで、自然数は必ず自身以下の素数を約数にもちます。また、整数nの約数aの約数bはnの約数でもあります。
すなわち、1以外の\sqrt{n}以下のnの正の約数が存在するならば必ずnとの公約数である\sqrt{n}以下の素数が存在するので、1以外の\sqrt{n}以下のnの正の約数が存在するかを知るにはnが\sqrt{n}以下の素数を約数としてもつかを調べればよいことがわかります。
すなわち、1以外の\sqrt{n}以下のnの正の約数が存在するならば必ずnとの公約数である\sqrt{n}以下の素数が存在するので、1以外の\sqrt{n}以下のnの正の約数が存在するかを知るにはnが\sqrt{n}以下の素数を約数としてもつかを調べればよいことがわかります。
調べた結果nがどの\sqrt{n}以下の素数も約数としてもたないことが示されれば、それは\sqrt{n}以下のnの正の約数が1以外にないということであり、連鎖的に\sqrt{n}以上のnの正の約数もn以外にないことがわかるので、nは素数であると判定できます。
ちなみにnが\sqrt{n}以上の素数を約数としてもつかを調べることでnが素数であるかを判定できないのかと思うかもしれませんが、必ずしも判定できるわけではありません。
例えば12が素数かを判定してみると、\sqrt{12}≒3.5以上12未満の素数5,7,11のいずれかを約数にもつかを調べてみるとどれも約数にもちません。
だから12は素数であるいえるかというとそうではなく、実際は12=2^2×3と素因数分解できる合成数です。
このように\sqrt{n}以下の素数しか約数に持たない数が存在するので\sqrt{n}以上の素数から素数判定をすることはできません。
例えば12が素数かを判定してみると、\sqrt{12}≒3.5以上12未満の素数5,7,11のいずれかを約数にもつかを調べてみるとどれも約数にもちません。
だから12は素数であるいえるかというとそうではなく、実際は12=2^2×3と素因数分解できる合成数です。
このように\sqrt{n}以下の素数しか約数に持たない数が存在するので\sqrt{n}以上の素数から素数判定をすることはできません。
また、n以外の\sqrt{n}以上のnの正の約数を探す方法についても、1から\sqrt{n}までの範囲の幅が\sqrt{n}-1であるのに対して\sqrt{n}からnまでの範囲の幅はn-\sqrt{n}=\sqrt{n}(\sqrt{n}-1)で\sqrt{n}倍あり、1以外の\sqrt{n}以下のnの正の約数を探すほうが範囲が狭く簡単なので効率的な方法であるとはいえません。
この素数判定法は\sqrt{n}以下のnの素因数を探す方法でもあるので、素因数分解のときにも役立ちます。
Share: