Дано простое число. Составить функцию, которая будет находить следующее за ним простое число - VB

Узнай цену своей работы

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

Дано простое число. Составить функцию, которая будет находить следующее за ним простое число!

Решение задачи: «Дано простое число. Составить функцию, которая будет находить следующее за ним простое число»

textual
Листинг программы
  1. Option Explicit
  2.  
  3. Private Sub Form_Load()
  4.     Dim d#, i&, ll&()
  5.     ll = Primes(101)
  6.     Do: d = 0
  7.         While Not (d > 0 And d < 98): d = Val(InputBox("Введите простое число" & vbLf & "от 1 до 97", , 1)): Wend
  8.         For i = 0 To UBound(ll)
  9.             If d = ll(i) Then
  10.                 MsgBox "Простое число: " & d & vbLf & "Следущее: " & ll(i + 1)
  11.                 End
  12.             End If
  13.         Next
  14.     Loop
  15.    
  16. End Sub
  17.  
  18. Function Primes(ByVal max&) As Long()
  19.     Dim i&, ii&, n&
  20.     If max > 1 Then
  21.     ElseIf max = 1 Then
  22.         ReDim ll&(0): ll(0) = 1: Primes = ll: Exit Function
  23.     Else: Exit Function
  24.     End If
  25.  
  26.     ReDim b(max) As Byte, ll&(Fix(max / Log(max) * 2))
  27.     n = 1
  28.     ll(0) = n: ll(n) = 2
  29.     For i = 3 To Fix(Sqr(max)) Step 2
  30.         If Not b(i) Then
  31.             n = n + 1: ll(n) = i
  32.             For ii = i * i To max Step i + i: b(ii) = True: Next
  33.         End If
  34.     Next i
  35.     For i = i To max Step 2
  36.         If Not b(i) Then n = n + 1: ll(n) = i
  37.     Next i
  38.     ReDim Preserve ll&(n): Primes = ll
  39. End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.462 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы