Los numeros primos son aquellos que tienen solo dos divisores, ellos mismos y 1.
Mas Información Clic Aqui
Podemos calcular de diferentes formas si el numero indicado lo es, desde .NET tenemos este código que lo realiza:
Public Class Form1
Dim Com As Long
Dim Result As Long
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCalcular.Click
Dim x As Long
Me.Text = "Calculando..."
For x = 1 To Val(txtValor.Text)
Result = Val(txtValor.Text) Mod x
If Result = 0 Then
Com += 1
End If
Application.DoEvents()
Next x
If (Com <= 2) And (Com <> 1) Then
Me.Text = "Es primo? : SI"
Else
Me.Text = "Es primo? : NO"
End If
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
End
End Sub
End Class
Un DoEvents es necesario ya que si colocamos números muy grandes se "colgaría" la aplicación mientras busca un resultado, podemos limitarnos cambiando el valor de las variables en cuestión a Integer y realizar una comparación para exigir al usuario trabajar con números menos que 32767 (por ejemplo)
En el evento Click del cmdCalcular antes que lo que hay actualmente se pondría:
If Val(txtValor) > 32767 Then
Msgbox("No se permiten numeros mayores a 32767")
Exit Sub
End If
Es una de las tantas posibilidades para no tener que ejecutar el código de manera que se "cuelgue".
Saludos.
No hay comentarios:
Publicar un comentario