fbpx

Cómo saber si un número es primo, utilizando C++.

Etiquetado: 

  • Cómo saber si un número es primo, utilizando C++.

    Posted by Angel Sánchez on 2 diciembre, 2019 en 8:40 pm

    Aprende a programar desde cero en C++ con nuestro curso gratuito. El curso incluye; más de 100 clases, 9 proyectos y 10 cuestionarios. Al finalizar el curso puedes obtener tu certificado gratuito. No se paga ni un solo centavo por el curso y el certificado. Registrarte al curso.


    Una de las cosas “más complicadas” de la programación es la lógica, una vez que puedes resolver un problema en tu cabeza lo demás es solo traducir a código en el lenguaje de tu preferencia. Por esa razón hay que practicar y dedicar tiempo a analizar la situación para que después podamos darle una solución programando. 😀

    Para resolver la duda de Jonatan, aquí explicamos cómo saber si un número es primo o no:

    En matemáticas, un número primo es un número natural mayor que 1 que tiene únicamente dos divisores distintos: él mismo y el 1.​​ Por el contrario, los números compuestos son los números naturales que tienen algún divisor natural aparte de sí mismos y del 1. Ejemplos:

    El numero 2 se puede dividir por 1 y da 2, y se puede dividir por 2, y da 1, pero si intentamos dividirlo por otro numero ya no nos da un numero entero, por ende es un numero primo. ( número natural mayor que 1 que tiene únicamente dos divisores distintos: él mismo y el 1).

    Por otro lado el numero 4, se puede dividir por 1 y da 4, se puede dividir por 4 y da 1, pero si dividimos por 2 da 2, otro numero entero, osea no cumple la regla: número natural mayor que 1 que tiene únicamente dos divisores distintos: él mismo y el 1.

    Ya hemos encontrado la clave, para saber si un numero es primo o no solo debemos de contar cuantas veces su residuo es 0 (Residuo / Resto. La cantidad que sobra luego de una división), si solo es 2 es primo, si es más de 2 no es primo. Para hacer esto podemos usar un ciclo e ir dividiendo para contar residuos. Para contar residuos usamos el modulo, aquí les dejo información: Cómo utilizar el operador módulo en C++.

    Les anexo la imagen del código. No solo copien, analicen. Si necesitan mas ayuda sobre este caso pueden contestar en este hilo. 😀

    Angel Sánchez respondido 1 año, 4 meses 4 Miembros · 0 Respuestas
  • 0 Respuestas
  • Unknown Member

    Miembro
    2 diciembre, 2019 en 9:08 pm

    Muy buen planteamiento del problema y su solución. Siempre es bueno analizar el código antes de hacer cualquier otra cosa con él.

    Así mismo, además de tener una buena lógica de programación, es bueno conocer los lenguajes de programación de bajo nivel como C. Esto para entrenar nuestra mente al programar hasta el punto de poder llegar a simplificar y comprender algunos algoritmos en lenguajes de alto nivel como JavaScript. (por ejemplo)

    Tan sencillo como crear un método “esPrimo”:

  • Santiago Alferez

    Miembro
    3 diciembre, 2019 en 10:47 pm

    Esto es solo un aporte.

    En el caso que el numero ingresado sea algo grande, como por ejemplo: 2147483647(Este es el numero primo mas grande que almacena el tipo de dato int), entonces el programa debera hacer 2147483647 iteraciones y 2147483647 comprobaciones en el if(numero%i==0), para evitar esto podemos ir solo hasta la raiz del numero y la respuesta sera la misma.

    Espero les sirva 😉

  • Santiago Alferez

    Miembro
    4 diciembre, 2019 en 1:49 am

    Olvide anexar la imagen a mi respuesta Man Facepalming

    • Angel Sánchez

      organizador
      4 diciembre, 2019 en 10:23 am

      Genial Felipe, solo que es trampa, solo se debe de usar lo visto en clases. Joy

  • grazianobolla

    Miembro
    25 enero, 2021 en 8:48 am

    ¿En el ejemplo no faltaria checkear que el numero fuera menor a ‘uno’? ¿Que pasa si el input es -4?

    • Angel Sánchez

      organizador
      25 enero, 2021 en 2:12 pm

      Si, puedes agregar una validación al momento de pedir los datos, ya sea para números negativos o si ingresa otro carácter que no sea un numero.

Inicia sesión para responder.

Start of Discussion
0 de 0 respuestas Junio 2018
Ahora