¿Cómo imprimir números primos en MS SQL Server?

En este artículo, vamos a imprimir números primos usando MS SQL. Aquí usaremos 2 sentencias while loops para imprimir números primos.

 Pasos 1: Primero DECLARAMOS una variable I con valor inicial 2.

Consulta:

DECLARE @I INT=2

Paso 2: Luego DECLARAMOS una variable PRIME con un valor inicial de 0 (esto establecerá el valor de PRIME).

Consulta:

DECLARE @PRIME INT=0

Paso 3: Definición de la tabla 

Crearemos una variable de tabla temporal que contendrá números primos (usando las palabras clave DECLARE y TABLE).

Consulta:

DECLARE @OUTPUT TABLE (NUM INT)

Paso 4: Ahora usaremos el bucle while anidado, al igual que escribimos un programa para números primos.

Consulta:

DECLARE @I INT=2
DECLARE @PRIME INT=0
DECLARE @OUTPUT TABLE (NUM INT)
WHILE @I<=100
BEGIN
    DECLARE @J INT = @I-1
    SET @PRIME=1
    WHILE @J>1
    BEGIN
        IF @I % @J=0
        BEGIN
            SET @PRIME=0
        END
        SET @J=@J-1
    END
    IF @PRIME =1
    BEGIN
        INSERT @OUTPUT VALUES (@I)
    END
    SET @I=@I+1
END
SELECT * FROM @OUTPUT

Explicación:

  • En el primer ciclo while, DECLARAMOS el valor inicial de I como 100, lo que significa que este ciclo nos proporcionará los números primos entre 2 y 100.
  • Ahora, declararemos J con el valor inicial como I-1. Como se muestra en el código anterior.
  • Luego, se insertará un segundo ciclo while que se ejecutará hasta que J sea mayor que 1.
  • si la declaración está allí con la condición @I % @J = 0, lo que significa que cuando el resto de I/J es 0, PRIME se establecerá en 0 y el valor de J se reducirá en 1.
  • Si al final del ciclo PRIME se establece en 1, ese número se insertará en nuestra TABLA DE SALIDA utilizando el siguiente código.

Consulta:

INSERT @OUTPUT VALUES (@I)
  • Y luego comenzará otro bucle para el siguiente número.

Paso 5:   Supongamos que tengo un valor inicial de 4, es decir, I = 4.

  • Ahora en el segundo bucle J tendrá un valor inicial de I-1 que es 3.
  • Por 4%3 obtendremos 1, por lo que Prime se establecerá en 1 como antes y J se reducirá en 1.
  • Ahora, para 4%2, obtendremos 0. Ahora, según nuestra condición, PRIME se establecerá en 0. Dado que 4 tiene más factores que 1 y que él mismo, el ciclo se iniciará nuevamente con un valor incrementado de I, es decir, 5 (Yo+1).

Salida: debajo de la salida para I<=100, lo que significa que imprimirá números primos del 2 al 100.

 

Publicación traducida automáticamente

Artículo escrito por thenavneet y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *