Torna al Thread

Public Class Form1 Sub FindPrimes(ByVal count As Integer) 'eventualmente pulisci il contenuto della TB TextBox1.Clear() 'Aggiungo l'unico numero primo pari: TextBox1.AppendText("2" + vbCrLf) 'Il numero correntemente analizzato: 'si parte da 3 e si prendono in consi- 'derazione solo i numeri dispari Dim cur As Integer = 3 'Col ciclo popolo l'array del risultato For i As Integer = 1 To count - 1 start: Dim radq As Integer = Math.Sqrt(cur) Dim divisore As Integer 'dato che abbiamo solo numeri dispari, 'si analizzano solo divisori dispari 'fino alla radice quadrata del numero For divisore = 3 To radq Step 2 'se il risultato di una divisione 'da reto zero, il numero non è primo If (cur Mod divisore) = 0 Then 'quindi aumento di due il numero analizzato '(ottenendo il numero disperi successivo) cur += 2 'e ricomincio ad analizzare GoTo start End If Next 'se il risultato di nessuna divisione da 0 'il numero è primo TextBox1.AppendText(cur) TextBox1.AppendText(vbCrLf) cur += 2 Next End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.FindPrimes(TextBox1.Text) End Sub End Class
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5