Нахождение простого числа, не превосходящие заданное число M - C (СИ)
Формулировка задачи:
Напечатать все простые числа, не превосходящие заданное число M. Для ускорения вычислений полезно завести таблицу для уже найденных простых чисел и проверять делимость очередного числа на числа из этой таблицы. Четные числа, естественно, не рассматривать.
Решение задачи оформит в виде функции, которая получает в качестве параметров число M, указатель на массив, в который будут помещаться найденные простые числа.
Тут есть ещё ошибка, она считает что числа 9, 15 и т.д. простые.
Буду благодарен за помощь.
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <ctype.h> int Simple(int m); int Simple(int m){ for (int i=2; i*i<m; i++) if (!(m %i)) return 0; else { return 1; } } void main(){ int m; int i; printf("Vvedite celoe chislo M: "); while (!(scanf("%d",&m))){ printf("Vveden ne vernii simvol. Vvedite celoe 4islo: "); fflush(stdin); } for (int k=2;k<=m;k++){ if (Simple(k)) printf("%d ",k); } getch(); }
Решение задачи: «Нахождение простого числа, не превосходящие заданное число M»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <conio.h> int simple(int k) { for (int j = 2; j <= k - 1; ++j) if ((k % j) == 0) return 0; } void main() { int m; printf("\n Enter Number M: "); while (!(scanf_s("%d", &m))){ printf("\n Correct Number Please: \n"); fflush(stdin); } printf("\n"); for (int i = 2; i <= m; ++i) { if (simple(i)) printf("%4i", i); } printf("\n\n Press any key: "); _getch(); }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и вводом-выводом.
- Определение функции
simple
, которая проверяет число на простоту. - Ввод числа M с клавиатуры и сохранение его в переменной
m
. - Проверка введенного числа на корректность и повторный запрос при неверном вводе.
- Вывод на экран всех простых чисел, не превосходящие M.
- Вывод сообщения
Press any key
и ожидание нажатия клавиши.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д