木曜日, 8月 01, 2024

Excel VBA 26 
入力値を素因数分解する

Visual Studio Basicと同じ事をVBAでやってみました。

-------------------
Sub PrimeFactorization()
Dim num As Long
Dim factor As Long
Dim result As String
' 入力を取得
num = Application.InputBox("素因数分解する数を入力してください:", "素因数分解", Type:=1)
If num < 2 Then
MsgBox "2以上の整数を入力してください。", vbExclamation
Exit Sub
End If
factor = 2
result = ""
' 素因数分解の実行
Do While num > 1
If num Mod factor = 0 Then
result = result & factor & " "
num = num / factor
Else
factor = factor + 1
End If
Loop
' 結果を表示
MsgBox "素因数分解の結果: " & result, vbInformation
End Sub
-------------------
実行して任意の数値を入力して[OK]すれば・・・

答えが表示されます。