Programa C para mostrar números primos entre dos intervalos

En este ejemplo, aprenderá a imprimir todos los números primos entre dos números ingresados ​​por el usuario.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación en C:

  • C if … else Statement
  • C para bucle
  • C romper y continuar

Mostrar números primos entre dos intervalos

 #include int main() ( int low, high, i, flag; printf("Enter two numbers(intervals): "); scanf("%d %d", &low, &high); printf("Prime numbers between %d and %d are: ", low, high); // iteration until low is not equal to high while (low < high) ( flag = 0; // ignore numbers less than 2 if (low <= 1) ( ++low; continue; ) // if low is a non-prime number, flag will be 1 for (i = 2; i <= low / 2; ++i) ( if (low % i == 0) ( flag = 1; break; ) ) if (flag == 0) printf("%d ", low); // to check prime for the next number // increase low by 1 ++low; ) return 0; )

Salida

 Ingrese dos números (intervalos): 20 50 Los números primos entre 20 y 50 son: 23 29 31 37 41 43 47 

En este programa, el whilebucle se itera ( high-low-1) veces.

En cada iteración, lowse comprueba si es un número primo o no, y el valor de lowse incrementa en 1hasta que lowsea ​​igual a high.

Visite esta página para obtener más información sobre cómo verificar si un número es primo o no.

Si el usuario ingresa primero el número mayor, el programa anterior no funciona como se esperaba. Puede resolver este problema cambiando los números.

Mostrar números primos cuando se ingresa primero un número más grande

 #include int main() ( int low, high, i, flag, temp; printf("Enter two numbers(intervals): "); scanf("%d %d", &low, &high); // swap numbers if low is greather than high if (low> high) ( temp = low; low = high; high = temp; ) printf("Prime numbers between %d and %d are: ", low, high); while (low < high) ( flag = 0; // ignore numbers less than 2 if (low <= 1) ( ++low; continue; ) for (i = 2; i <= low / 2; ++i) ( if (low % i == 0) ( flag = 1; break; ) ) if (flag == 0) printf("%d ", low); ++low; ) return 0; )

Visite esta página para aprender cómo puede mostrar todos los números primos entre los dos intervalos creando una función definida por el usuario

Articulos interesantes...