Дано простое число. Составить функцию, которая будет находить следующее за ним простое число - VB
Формулировка задачи:
Дано простое число. Составить функцию, которая будет находить следующее за ним простое число!
Решение задачи: «Дано простое число. Составить функцию, которая будет находить следующее за ним простое число»
textual
Листинг программы
- Option Explicit
- Private Sub Form_Load()
- Dim d#, i&, ll&()
- ll = Primes(101)
- Do: d = 0
- While Not (d > 0 And d < 98): d = Val(InputBox("Введите простое число" & vbLf & "от 1 до 97", , 1)): Wend
- For i = 0 To UBound(ll)
- If d = ll(i) Then
- MsgBox "Простое число: " & d & vbLf & "Следущее: " & ll(i + 1)
- End
- End If
- Next
- Loop
- End Sub
- Function Primes(ByVal max&) As Long()
- Dim i&, ii&, n&
- If max > 1 Then
- ElseIf max = 1 Then
- ReDim ll&(0): ll(0) = 1: Primes = ll: Exit Function
- Else: Exit Function
- End If
- ReDim b(max) As Byte, ll&(Fix(max / Log(max) * 2))
- n = 1
- ll(0) = n: ll(n) = 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 i
- For i = i To max Step 2
- If Not b(i) Then n = n + 1: ll(n) = i
- Next i
- ReDim Preserve ll&(n): Primes = ll
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д