Comprobador de números primos en Excel VBA - Macros fáciles de Excel

Tabla de contenido

A continuación, veremos un programa en Excel VBA ese cheques si un número es un número primo o no.

Antes de empezar: en matemáticas, un número primo es un número que tiene exactamente dos divisores numéricos distintos: 1 y él mismo. Los veinticinco números primos más pequeños son: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73 , 79, 83, 89 y 97. Por ejemplo, 8 tiene 1, 2, 4 y 8 como divisores y no es un número primo.

Situación:

1. Primero, declaramos tres variables. Una variable entera que llamamos divisores, una variable larga que llamamos número y una variable larga que llamamos i. Usamos variables Long aquí porque las variables Long tienen mayor capacidad que las variables Integer.

Dim divisores As Integer, number As Long, i As Long

2. Inicializamos dos variables. Inicializamos los divisores de variables con valor 0. Usamos la función InputBox para obtener un número del usuario.

divisores = 0
number = InputBox ("Ingrese un número")

Después de que el usuario haya ingresado un número, queremos verificar si este número es un número primo o no. Recuerde, un número primo tiene exactamente dos divisores numéricos distintos: 1 y él mismo.

3. Comenzamos un ciclo For Next.

Para i = 1 Para numerar

4. Ahora viene la parte más importante del programa. Para calcular el número de divisores de un número, usamos el operador Mod. El operador Mod da el resto de una división. Por ejemplo, 7 mod 2 = 1 porque 7 dividido por 2 es igual a 3 con un resto de 1. Solo si 'número mod i' = 0, i es un divisor de número. En este caso, queremos incrementar los divisores de variables en 1. La macro siguiente hace el truco.

Si el número Mod i = 0 entonces
divisores = divisores + 1
Terminara si

Excel VBA verifica esto para i = 1, i = 2, i = 3, i = 4 hasta que i = número. Tenga en cuenta que i = 1 e i = número siempre son divisores de número. Solo si estos números son los únicos divisores de números, el número es un número primo.

5. No olvide cerrar el ciclo.

Siguiente yo

6. Si los divisores son iguales a 2, mostramos un cuadro de mensaje que dice que el número ingresado es un número primo. Si el número de divisores es mayor que 2, mostramos un cuadro de mensaje que dice que el número ingresado no es un número primo.

Si los divisores = 2 entonces
MsgBox number & "es un número primo"
Demás
MsgBox number & "no es un número primo"
Terminara si

7. Pruebe el programa.

Resultado para 104729:

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave