Программа на C для отображения простых чисел между двумя интервалами

В этом примере вы научитесь печатать все простые числа между двумя числами, введенными пользователем.

Чтобы понять этот пример, вы должны знать следующие темы программирования на C:

  • C if… else Заявление
  • C для цикла
  • C перерыв и продолжить

Отображение простых чисел между двумя интервалами

 #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; )

Вывод

 Введите два числа (интервалы): 20 50 Простые числа от 20 до 50: 23 29 31 37 41 43 47 

В этой программе whileцикл повторяется ( high-low-1) раз.

На каждой итерации проверяется, lowявляется ли число простым или нет, и значение lowувеличивается на, 1пока не lowстанет равно high.

Посетите эту страницу, чтобы узнать больше о том, как проверить, является ли число простым или нет.

Если пользователь сначала вводит большее число, указанная выше программа не работает должным образом. Вы можете решить эту проблему, поменяв номера местами.

Отображение простых чисел, когда сначала вводится большее число

 #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; )

Посетите эту страницу, чтобы узнать, как вы можете отобразить все простые числа между двумя интервалами, создав пользовательскую функцию.

Интересные статьи...