Programa de números primos?

Hola a todos. Espero alguien me pueda decir como hacer un programa que vea si un numero es primo ó no, en C++, más específico en el programa Dev-C++. Muchas gracias.

Comments

  • include<stdio.h>

    main(){

    int numero,j;

    printf("Intrduzca un numero, luego pulse ENTER");

    scanf("%d",&numero);

    j=1;

    cont=0;

    while((j<=numero)){

    if((numero%j)==0){

    cont=cont+1;

    }

    j=j+1;

    }

    if(cont==2)

    printf("\nEl numero es primo");

    else

    printf("\nEl numero NO es primo");

    getch();

    }

    COMENTARIOS POR SI HAY DUDAS:

    Un numero primo es aquel q es divisible UNICAMENTE por sí mismo y por la unidad

    El simbolo porcentaje devuelve el RESTO de la division (recuerda que la division tiene cociente, resto, dividendo, divisor)

    Si el RESTO es igual a cero, es porq el numero es divisible.

    Ejemplo1:

    3%3= 0 (RESTO DE LA DIVISION)

    3%2= 1 (RESTO DE LA DIVISION)

    3%1= 0 (RESTO DE LA DIVISION)

    En el Ejemplo1 se observa que el numero 3 cumple la condicion para ser PRIMO porque es divisible UNICAMENTE por si mismo (por 3) y por la unidad (por 1)

    Ejemplo2:

    4%1= 0

    4%2= 0

    4%3= 1

    4%4= 0

    En el Ejemplo2 se observa que el numero 4 NO ES PRIMO, porque NO SOLO es divisible por si mismo (por 4) y por la unidad (por 1), sino que ADEMAS es divisible por 2

  • Yo no sé programar en C++, pero sé codificar en PHP, y aunque son similares, no me atrevería a hacerte el programa. Pero encontré esta respuesta que quizá sea la que tú andas buscando:

    Función que te dice si un número es primo:

    bool isPrime(int p){

    if ( p<=1 ) return false;

    if ( p == 2 ) return true;

    if ( p > 2 ){

    for(int i = 2; i < p; ++i){

    if (p%i == 0) return false;

    }

    return true;

    }

    }

    Para hacer una lista de números primos:

    for(int i = a; i <= b; ++i){

    if (isPrime(i)) cout << i;

    }

    Espero haya sido de ayuda.

    Saludos.

Sign In or Register to comment.