Предмет: Информатика,
автор: Физика84
Паскаль
M меньше n, n и m натуральные числа. Вывести на экран числа от m до n которые не являются простыми
Ответы
Автор ответа:
1
PascalABC.NET 3.4.2, сборка 1884 от 24.11.2018
Внимание! Если программа не работает, обновите версию!
function IsPrime(Self: integer): boolean; extensionmethod;
// является ли число простым ?
begin
if Self < 4 then Result := True
else
begin
var found := (Self mod 2 = 0);
var p := 3;
while (not found) and (sqr(p) <= Self) do
begin
found := (Self mod p = 0);
p += 2
end;
Result := not found
end
end;
begin
var (m, n) := ReadInteger2('Введите m и n:');
Range(m, n).Where(t -> not t.IsPrime).Println
end.
Приложения:
Аноним:
1 не является простым, а у вас "if Self<4"
Это почему 1 не является простым?
"Простое число — натуральное (целое положительное) число, имеющее ровно два различных натуральных делителя — единицу и самого себя".
В силу этого определения, потому что делителей должно быть ровно два и различных?
Но вообще-то на простоту проверяют натуральные числа, начинающиеся от 2.
Да, в силу того, что эти делители должны быть различны)
В смысле "на простоту проверяют натуральные числа, начинающиеся от 2"?
Ну да. Но можно поправить, конечно, добавить проверку на значение 1.
В смысле того, что единицу на простоту не проверяют обычно..
Но если модератор захочет - даст ответ на исправление, я поправлю.
Похожие вопросы
Предмет: Физика,
автор: yash54
Предмет: Астрономия,
автор: mglinskikh2018
Предмет: Биология,
автор: dmitriyxdmitriyx
Предмет: Математика,
автор: никита200315
Предмет: Информатика,
автор: LimbО