
Два простых числа называются "близнецами", если они отличаются друг от друга на 2 (таковы,
например, числа 41 и 43). Напечатать все пары "близнецов" из отрезка [n, 2n], где n - заданное целое число, большее 2. Написать на PascalABC.NET

Ответы на вопрос

//PascalABC.NET версия 3.4.0.1677 от 17.06.18
//Если программа не запускается, то обновите версию
uses System.Linq;
function GetPrimes(n: integer): List<integer>;
begin
var primes := new List<integer>();
primes.Add(2);
for var i := 3 to n do
begin
if primes.All(x -> i mod x > 0 ) then
primes.Add(i);
end;
GetPrimes := primes;
end;
begin
var n := ReadInteger('n =');
var primes := GetPrimes(2 * n);
foreach var p in primes do
if primes.Contains(p + 2) then
writeln(p, ' ', p + 2);
end.



Вот пример программы на PascalABC.NET, которая печатает все пары "близнецов" из заданного отрезка [n, 2n]:
pascalprogram TwinPrimes; var n, i: integer; function IsPrime(num: integer): boolean; var i: integer; begin IsPrime := True; if num < 2 then IsPrime := False else begin for i := 2 to trunc(sqrt(num)) do begin if num mod i = 0 then begin IsPrime := False; break; end; end; end; end; begin writeln('Введите число n:'); readln(n); writeln('Пары "близнецов" из отрезка [', n, ', ', 2 * n, ']:'); for i := n to (2 * n - 2) do begin if (IsPrime(i)) and (IsPrime(i + 2)) then writeln(i, ' и ', i + 2); end; readln; end.
Программа начинается с определения функции IsPrime
, которая проверяет, является ли число простым. Затем основная часть программы запрашивает у пользователя значение n
, отрезок [n, 2n] итерируется с помощью цикла for
. В каждой итерации проверяется, являются ли текущее число i
и i + 2
простыми числами, и если это так, то пара чисел выводится на экран.
Надеюсь, это поможет! Если у вас есть еще вопросы, не стесняйтесь задавать.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili