Найти все делители числа 1234 - VB

Формулировка задачи:

Найти все делители числа 1234 Не могу понять как решить

Код к задаче: «Найти все делители числа 1234 - VB»

textual
Option Explicit
 
Function Primes(ByVal max&) As Long()
    'Возвращает список простых чисел до крайнего элемента max
    Dim i&, ii&, n&
    If max < 2 Then Exit Function
    ReDim b(max) As Byte, ll&(Fix(max / Log(max) * 2)): ll(0) = 2
    For i = 3 To Fix(Sqr(max)) Step 2
        If Not b(i) Then
            n = n + 1: ll(n) = i
            For ii = i * i To max Step i + i: b(ii) = True: Next
        End If
    Next
    For i = i To max Step 2: If Not b(i) Then n = n + 1: ll(n) = i
    Next: ReDim Preserve ll&(n): Primes = ll
End Function
 
Private Sub Form_Load()
    Dim l&, ll&, s$, v
    While l < 2: l = Val(InputBox("Введите число >1", , 1234)): Wend: ll = l
    For Each v In Primes(ll)
        While ll Mod v = 0: s = s & ", " & v: ll = ll / v: Wend
    Next
    MsgBox "Число: " & l & vbLf & "Делители: " & Mid(s, 3)
    End
End Sub

8   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ