23.12.10, 15:13
|
#29 (permalink)
|
Registriert seit: 10.11.10 Likes: 0 | Eine Möglichkeit in VB. Code: Module Module1
Public anfZahl As Integer
Public endZahl As Integer
Public zahlen(0) As Integer
Public zaehler As Integer = 0
Sub Main()
Console.Write("Bitte den Anfangswert des Wertebereichs eingeben: ")
anfZahl = Console.ReadLine
Console.Write("Bitte den Endwert des Wertebereichs eingeben: ")
endZahl = Console.ReadLine
Console.WriteLine()
Dim prim(endZahl + 1) As Boolean
For i As Integer = 0 To endZahl + 1
prim(i) = True
Next
For j As Integer = 2 To endZahl
prim(j) = False
Next
primSuche(prim)
For z As Integer = 0 To zahlen.Length - 2
If zahlen(z) + 2 = zahlen(z + 1) Then
Console.WriteLine(zahlen(z) & " - " & zahlen(z + 1))
End If
Next
Console.ReadLine()
End Sub
Public Sub primSuche(ByRef prim() As Boolean)
For i As Integer = 2 To endZahl
If Not prim(i) Then
ReDim Preserve zahlen(zaehler)
zahlen(zaehler) = i
zaehler += 1
For j As Integer = i * i To endZahl Step i
prim(j) = True
Next
End If
Next
End Sub
End Module |
| |