Выдать все простые числа в диапазоне от 2 до N, заполнив массив числами от 2 до N - C (СИ)
Формулировка задачи:
Вводится число N (N<=100). Выдать все простые числа в диапазоне от 2 до N, заполнив массив числами от 2 до N, а затем обнулить все кратные 2, затем все кратные 3 и т.д. Необнуленные элементы и будут простыми числами
Решение задачи: «Выдать все простые числа в диапазоне от 2 до N, заполнив массив числами от 2 до N»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> int main () { const int nmax=100; int a[nmax],i,n,k; printf ("\nВведите размерность массива от 2 до %d:",nmax); scanf ("%d",&n); a[0]=0; //1 - не простое число! for (i=1; i<n; i++) a[i]=i+1; for (k=2; k<=n/2; k++) for (i=0; i<n; i++) if (a[i]!=k && a[i]%k==0) a[i]=0; printf ("\nПростые числа: "); for (i=0; i<n; i++) if (a[i]!=0) printf ("%d ",a[i]); system ("pause"); return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявляются переменные:
nmax
- максимальная размерность массива (100);n
- размерность массива, введенная пользователем;a
- массив для хранения чисел;i
- счётчик для циклов;k
- счётчик для циклов.
- Пользователю предлагается ввести размерность массива от 2 до 100.
- В массиве
a
инициализируются все элементы значением 1. - В цикле заполняются первые
n
элементов массива значениями от 1 доn
. - В цикле проверяются все числа от 2 до
n/2
на делимость на текущий индекс элемента массива. Если число делится без остатка, то текущий элемент массива, равный этому числу, перемножается на 0. - В цикле выводятся все ненулевые элементы массива через пробел.
- В конце программы выводится приглашение для нажатия любой клавиши и программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д