Найти все делители числа 1234 - VB
Формулировка задачи:
Найти все делители числа 1234
Не могу понять как решить
Решение задачи: «Найти все делители числа 1234»
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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д