Дано простое число. Составить функцию, которая будет находить следующее за ним простое число - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д