38 lines
745 B
Text
38 lines
745 B
Text
' FB 1.05.0 Win64
|
|
|
|
Sub getPrimeFactors(factors() As UInteger, n As UInteger)
|
|
If n < 2 Then Return
|
|
Dim factor As UInteger = 2
|
|
Do
|
|
If n Mod factor = 0 Then
|
|
Redim Preserve factors(0 To UBound(factors) + 1)
|
|
factors(UBound(factors)) = factor
|
|
n \= factor
|
|
If n = 1 Then Return
|
|
Else
|
|
factor += 1
|
|
End If
|
|
Loop
|
|
End Sub
|
|
|
|
Dim factors() As UInteger
|
|
|
|
For i As UInteger = 1 To 20
|
|
Print Using "##"; i;
|
|
Print " = ";
|
|
If i > 1 Then
|
|
Erase factors
|
|
getPrimeFactors factors(), i
|
|
For j As Integer = LBound(factors) To UBound(factors)
|
|
Print factors(j);
|
|
If j < UBound(factors) Then Print " x ";
|
|
Next j
|
|
Print
|
|
Else
|
|
Print i
|
|
End If
|
|
Next i
|
|
|
|
Print
|
|
Print "Press any key to quit"
|
|
Sleep
|