素数と素因数分解
1.自然数の分類
2以上の自然数nはn=1×nと表す事が出来る。つまりこれらの自然数は最低1とnという2つの約数を持つ。素数とは1とn以外に約数を持たない数の事を言い、合成数とは3つ以上の約数を持つ数の事を指す。また1とn以外の約数を真の約数と呼ぶ。つまり自然数は
- 1
- 素数→2つの約数を持つ
- 合成数→3つ以上の約数を持つ
という3種類に分ける事が出来る。
2.素数
正の整数Pにおいて、割り切れる正の整数が2つ(1とその数自身)しかない場合、Pは素数と判断出来る。小さい素数を上げてみると2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、51という具合になる。素数は無限に存在する。この証明は約2300年前にユークリッド著『原論』においてなされている。証明の概要は以下の通りである。
n個の素数p1、p2、p3、・・・、pnが与えられた時、これら以外に素数がある事を示す。
q=p1×p2×p3×・・・×pn+1
とする。が素数の場合、qはp1、・・・pnのいずれの数よりも大きく、p1、・・・pn以外の素数と判定できる。
qが合成数ならば、qを割る最小の真の約数をrとする。するとrは素数である。なぜならrの真の約数sがあったならば
s|r、r|q ∴s|q、s<r
となり、rが最小の真の約数である事に反する。よってrは素数だが、rはp1、・・・pnのどれとも等しくない。それは、qをpiで割ると必ず1余るので、piはqの約数ではないからである。qが素数でも合成数でもp1、・・・pn以外の素数が存在するのである。予って素数は無限に存在する事が証明された。
この証明で素数は無限に存在すると判明したが、数が大きくなるに従ってその割合は小さくなる。100未満には素数が25個あり、最初の100個の整数の素数の密度は1/4であるが、10桁の数字になると1/23となり、100桁の数字では1/230である。これまで素数の数について述べてきたが、暗号の世界において、素数の数がキーポイントとなっていく。RSA等多くの暗号アルゴリズムでは大きな素数を見つけなければならない。大きな素数の発見方法は数を無作為に抽出し、その数が素数か否か判定して行われる。暗号アルゴリズムにおいて使用される素数の大きさは今のところ100桁程度であるため現在のコンピュータで十分に対応できるのである。
3.素因数分解の一意性
素因数分解は合成数を素数の積で表す事であるが、素因数分解の一意性とは、ある合成数aを素因数分解した時にaは1通りのみの素数の積でしか表せないという事を意味する。この証明は次の通りである。
自然数aとbの最大公約数が1の時、つまりaとbには共通な約数が1しかない時、aとbは互いに素という。
この時(a,b)=1だから、1=xa+ybとなる整数x,yはユークリッドの互除法を利用すると求める事が出来る。(a,b)=1、a|b・cのときa|cとなることが以下のように表せる。
xa+yb=1
この式を満たす整数x,yは存在するのでこの式の両辺にcを掛けると
xac+ybc=c
となる。acもbcもaで割れるので左辺はaで割れる。つまりa|cが成立したといえる。
次にaが2通りに素因数分解されたとして
a=p1×p2×p3×・・・×pn=q1×q2×q3×・・・×qm、 p1≦q1≦q2≦・・・≦qm
となったとする。p1とq1が異なれば、p1もq1も素数であるから(p1,q1)=1となる。p1はaを割るから、p1はq1×(q2q3・・・qm)を割る。よって、p1はq2q3・・・qmを割る。同様にして、p1<q2よりp1|q3・・・qmとなる。これを続けて行うとp1|1となるため矛盾が生じる。つまりp1はq1と等しくなければいけない。よって両辺をp1で割り
p2×p3×・・・×pn=q2×q3×・・・×qm
が得られる。同様にp2=q2、p3=q3、・・・pn=qmとなる。両辺をこれらの素数で割っていくと必ず1となる。よって、ある合成数aを素因数分解した時にaは1通りのみの素数の積でしか表せないという事が証明できた。
Yahoo! Japan
Yahoo! Deutschland
Copyright (C) Shuichi Inage 1997. Alle Rechte vorbehalten.
E-mail:t9530605@mt.tama.hosei.ac.jp
E-mail:sinage@geocities.com (Postpet)
This page hosted by
Get your own Free Homepage