cpp

C++ | Saber si número es primo

En este post veremos una función en C++ o CPP que recibe un número y devuelve true o false dependiendo de que el número sea o no primo.

Un número primo es aquel que solo es divisible entre 1 y entre sí mismo. Si no sabes lo que significa “divisible” mira este post.

Nota: mira la implementación en ANSI C o en Java.

Función que dice si es número primo en C++

Para empezar, el número 0, 1 y 4 no son primos. Por lo tanto, si recibimos uno de esos números, indicamos que no, regresando false.

Después hacemos un ciclo desde 2 hasta la mitad del número, e intentamos dividir e número entre el valor actual del ciclo. Si el número es divisible, regresamos false, pues significa que el número no es primo porque se pudo dividir entre otro número aparte del 1 y del número en sí.

/*
 Número primo en C++ o CPP

 https://parzibyte.me/blog
*/bool esPrimo(int numero) {
  // Casos especiales
  if (numero == 0 || numero == 1 || numero == 4) return false;
  for (int x = 2; x < numero / 2; x++) {
    if (numero % x == 0) return false;
  }
  // Si no se pudo dividir por ninguno de los de arriba, sí es primo
  return true;
}

En caso de que no sea divisible y el ciclo termine, regresamos true porque el número sí es primo.

Esa función puede ser usada en cualquier lugar, como veremos a continuación.

Uso de la función esPrimo en C++

Solo hay que definir el prototipo de la función en el encabezado y después podemos usarla. En este caso simplemente pedimos un número al usuario y le indicamos si el número es primo en C++

/*
 Número primo en C++ o CPP

 https://parzibyte.me/blog
*/#include <iostream>
// Definir prototipo de función
bool esPrimo(int numero);

int main() {
  int numero;
  std::cout << "Escribe un número y te diré si es primo:\n";
  std::cin >> numero;
  if (esPrimo(numero)) {
    std::cout << "Es primo";
  } else {
    std::cout << "NO es primo";
  }
}

bool esPrimo(int numero) {
  // Casos especiales
  if (numero == 0 || numero == 1 || numero == 4) return false;
  for (int x = 2; x < numero / 2; x++) {
    if (numero % x == 0) return false;
  }
  // Si no se pudo dividir por ninguno de los de arriba, sí es primo
  return true;
}

Veamos un ejemplo de uso. Voy a compilar con:

g++ primo.cpp -o primo.exe

Luego a ejecutar con:

primo.exe

Finalmente tenemos algunas pruebas:

Te invito a ver más sobre C++ en mi blog.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

  • Escribir una función lógica, DIGITO que determine si un carácter es uno de los dígitos de 0 a 9 syuds en esto

Entradas recientes

Resetear GOOJPRT PT-210 MTP-II (Impresora térmica)

El día de hoy vamos a ver cómo restablecer la impresora térmica GOOJPRT PT-210 a…

6 días hace

Proxy Android para impresora térmica ESC POS

Hoy voy a enseñarte cómo imprimir en una impresora térmica conectada por USB a una…

6 días hace

Android – Servidor web con servicio en segundo plano

En este post voy a enseñarte a programar un servidor web en Android asegurándonos de…

6 días hace

Cancelar trabajo de impresión con C++

En este post te quiero compartir un código de C++ para listar y cancelar trabajos…

1 mes hace

Copiar bytes de Golang a JavaScript con WebAssembly

Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…

2 meses hace

Imprimir PDF con Ghostscript en Windows de manera programada

Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…

2 meses hace