今回は素因数分解です。
小学校の頃にさんざんやった記憶があります。
ソースコードは、ご自由にご利用ください。ただし、趣味のプログラムなので、保証はありません。
Option Explicit
'素因数分解
Public Sub Macro()
Dim i As Long
Dim j As Long
Dim f As Collection
For i = 1 To 100
Sheet1.Cells(i, 1) = i
Set f = Factorize(i)
For j = 1 To f.count
Sheet1.Cells(i, j + 1) = f(j)
Next j
Next i
End Sub
Public Function Factorize(x As Long) As Collection
Set Factorize = New Collection
Dim temp As Long
Dim factor As Long
temp = x
factor = 2
Do While (factor <= temp)
If temp Mod factor = 0 Then
temp = temp \ factor
Factorize.Add factor
Else
factor = factor + 1
End If
Loop
End Function
0 件のコメント:
コメントを投稿