Lenguaje C: comprobar si un número entero es un número primo

Se puede usar un programa en lenguaje C para verificar si un número entero es un número primo . Se requiere cierto conocimiento de conceptos de programación y lenguajes como C para escribir un código de programa en C. Los conceptos básicos tales como bucles, incluidos los bucles, mientras que los bucles do, si no los bucles, las funciones, etc., son necesarios para escribir programas. Un programa para verificar si un número entero es un número primo en C se puede escribir mediante el uso de bucles anidados . Anidados para bucles contienen uno para bucle dentro de otro. Algunos conocimientos de las funciones de C, como scanf y printf, también resultarán útiles al programar en C.

[Lenguaje C] Comprobar si un número entero es un número primo

  • Definición de un número primo
    • Algoritmo 1: los divisores entre 2 y N-1 serán probados
    • Algoritmo 2: incluso los divisores no serán probados, la investigación se limita a divisores impares
    • Algoritmo 3: se probarán todos los divisores impares hasta la raíz cuadrada de N
    • Algoritmo 4: detiene el programa cuando se encuentra un divisor

Definición de un número primo

Un número primo es un número entero, que se divide solo por 1 y por sí mismo.

Algoritmo 1: los divisores entre 2 y N-1 serán probados

/ **************************

  • prime_number1.c * / / * algoritmo: pruebe todos los divisores * / #include int main (void) {int i, nb, count, test; prueba = cuenta = 0; printf ("enter integer:"); if (scanf ("% d", & nb)! = 1) devuelve -1; para (i = 2; i <nb; i ++, count ++) si (nb% i == 0) prueba = 1; if (! test) printf ("% d número primo, número de iteraciones =% dn", nb, count); else printf ("% d no es un número primo, número de iteraciones =% dn", nb, count); devuelve 0; }

Algoritmo 2: incluso los divisores no serán probados, la investigación se limita a divisores impares

/ **************************

  • prime_number2.c * / / * algoritmo: excluir números pares y * probar todos los divisores * / #include int main (void) {int i, nb, count, test; prueba = cuenta = 0; printf ("enter integer:"); if (scanf ("% d", & nb)! = 1) devuelve -1; if (nb% 2 == 0) prueba = 1; else {for (i = 3; i <nb; i + = 2, count ++) si (nb% i == 0) prueba = 1; } if (! test) printf ("% d número primo, número de iteraciones =% dn", nb, count); else printf ("% d no es un número primo, número de iteraciones =% dn", nb, count); devuelve 0; }

Algoritmo 3: se probarán todos los divisores impares hasta la raíz cuadrada de N

/ **************************

  • prime_number3.c * / / * algoritmo: excluye todos los números pares y * prueba todos los divisores hasta la raíz cuadrada * / #include #include int main (void) {int i, nb, count, test, limit; prueba = cuenta = 0; printf ("enter integer:"); if (scanf ("% d", & nb)! = 1) devuelve -1; limit = sqrt (nb) + 1; if (nb% 2 == 0) prueba = 1; else {for (i = 3; i <limit; i + = 2, count ++) si (nb% i == 0) prueba = 1; } if (! test) printf ("% d número primo, número de iteraciones =% dn", nb, count); else printf ("% d no es un número primo, número de iteraciones =% dn", nb, count); devuelve 0; }

Algoritmo 4: detiene el programa cuando se encuentra un divisor

/ **************************

  • prime_number4.c * / / * algoritmo: excluir todos los números pares y * probar todos los divisores hasta la raíz cuadrada * salir del bucle cuando se encuentre el primer divisor * / #include #include int main (void) {int i, nb, count, prueba, límite; prueba = cuenta = 0; printf ("Enter integer:"); if (scanf ("% d", & nb)! = 1) devuelve -1; limit = sqrt (nb) + 1; if (nb% 2 == 0) prueba = 1; else {for (i = 3; i <limit &&! test; i + = 2, count ++) if (nb% i == 0) test = 1; } if (! test) printf ("% d número primo, número de iteraciones =% dn", nb, count); else printf ("% d no número primo, número de iteraciones =% dn", nb, count); devuelve 0; }
Artículo Anterior Artículo Siguiente

Los Mejores Consejos