Programa de números primos en C

Cualquier número entero que sea mayor que 1 y tenga solo dos factores, que sea 1 y el número mismo, se llama número primo. Aparte de estos dos números, no tiene divisor positivo. Por ejemplo

7 = 1 × 7

Pocos números primos son: 1, 2, 3, 5, 7, 11, etc.

Algoritmo

El algoritmo de este programa es muy fácil:

START
   Step 1 → Take integer variable A
   Step 2 → Divide the variable A with (A-1 to 2)
   Step 3 → If A is divisible by any value (A-1 to 2) it is not prime
   Step 4 → Else it is prime
STOP

Pseudocódigo

Podemos redactar un pseudocódigo del algoritmo anterior de la siguiente manera:

procedure prime_number : number
   
   FOR loop = 2 to number - 1
      check if number is divisible by loop
      
      IF divisible
         RETURN "NOT PRIME"
      END IF
         
   END FOR
   
   RETURN "PRIME"

end procedure

Implementación

La implementación de este algoritmo se da a continuación:

#include <stdio.h>

int main() { 
   int loop, number;
   int prime = 1;
   
   number = 11;

   for(loop = 2; loop < number; loop++) {
      if((number % loop) == 0) {
         prime = 0;
      }
   }

   if (prime == 1)
      printf("%d is prime number.", number);
   else
      printf("%d is not a prime number.", number);
   return 0;
}

Salida

La salida del programa debe ser:

11 is prime number.
programas_matemáticos_en_c.htm