Конспект урока "Вывод простых чисел в диапазоне (реализация на C++)"


ФИО автора: Трофимов Виктор Геннадьевич
Место работы: ГКООУ санаторная школа-интернат №28 г. Ростова-на-Дону
Должность: учитель информатики и ИКТ
ВЫВОД ПРОСТЫХ ЧИСЕЛ В ДИАПАЗОНЕ (РЕАЛИЗАЦИЯ НА C++)
Задача: Вывести все простые числа от M до N включительно.
Входные данные
В первой строке находятся разделённые пробелом M и N. 2 <= M <= N <= 300 000.
Выходные данные
Вывести числа в порядке возрастания, по одному в строке. Если между M и N включительно
нет простых - вывести "NULL".
Примеры
входные данные
2 5
выходные данные
2
3
5
входные данные
4 4
выходные данные
NULL
Текст программы:
#include <iostream>
#include <math.h>
using namespace std;
bool nullsimple = true;
bool simple(int n)
{
for (int i = 2; i < static_cast<int>(sqrt(n)) + 1; i++)
if (n % i == 0) return false;
nullsimple = false;
return true;
}
int main()
{
setlocale(LC_CTYPE, "ru");
int m = 0, n = 0;
cin >> m >> n;
for (int i = m; i <= n; i++)
if (simple(i)) cout << i << endl;
if (nullsimple) cout << "NULL" << endl;
system("pause");
return 0;
}