「素因数分解」の編集履歴(バックアップ)一覧はこちら
「素因数分解」(2010/01/25 (月) 19:07:48) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
合成数(素数でない数)を素数の積の形に書き表すこと。例:12 = 2 * 2 * 3。
次のプログラムでは,3以上の素数は全て素数であることを使って、2および3以上の奇数で割っている。3以上の奇数には9のように素数でないものも含まれるが、9で割る前に3で割っているので9で割り切れることはない。
factoriz.cの移植、AB 4.24.00で動作確認。
#asciiart(blockquote){
#strict
#prompt
Sub Factorize(x As Long)
Print x; "= ";
While x >= 4 And (x Mod 2) = 0
Print "2 * ";
x /= 2
Wend
Dim d As Long, q As Long
d = 3
q = x \ d
While q >= d
If x Mod d = 0 Then
Print d; "* ";
x = q
Else
d += 2
End If
q = x \ d
Wend
Print x
End Sub
Dim x As Long
Input x
Factorize(x)
}