今回は素因数分解です。
 小学校の頃にさんざんやった記憶があります。
 ソースコードは、ご自由にご利用ください。ただし、趣味のプログラムなので、保証はありません。
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 件のコメント:
コメントを投稿