Нахождение простого числа, не превосходящие заданное число M - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Напечатать все простые числа, не превосходящие заданное число M. Для ускорения вычислений полезно завести таблицу для уже найденных простых чисел и проверять делимость очередного числа на числа из этой таблицы. Четные числа, естественно, не рассматривать. Решение задачи оформит в виде функции, которая получает в качестве параметров число M, указатель на массив, в который будут помещаться найденные простые числа.
#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();
}
Тут есть ещё ошибка, она считает что числа 9, 15 и т.д. простые. Буду благодарен за помощь.

Решение задачи: «Нахождение простого числа, не превосходящие заданное число 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();
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с файлами и вводом-выводом.
  2. Определение функции simple, которая проверяет число на простоту.
  3. Ввод числа M с клавиатуры и сохранение его в переменной m.
  4. Проверка введенного числа на корректность и повторный запрос при неверном вводе.
  5. Вывод на экран всех простых чисел, не превосходящие M.
  6. Вывод сообщения Press any key и ожидание нажатия клавиши.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы