Получить все пары чисел-близнецов, не превосходящих n - PascalABC.NET
Формулировка задачи:
Получить все пары чисел-близнецов, не превосходящих n (два простых числа называются близнецами, если разница между ними равна 2).
Решение задачи: «Получить все пары чисел-близнецов, не превосходящих n»
textual
Листинг программы
begin
var n := ReadInteger('n = ');
var primes := Range(2, n).Where(number -> Range(2, Trunc(Sqrt(number))).
All(divisor -> number mod divisor <> 0)).ToList();
for var i := 1 to primes.Count - 1 do
if primes[i - 1] + 2 = primes[i] then writeln(primes[i - 1]:4, primes[i]:4);
writeln(primes)
end.
Объяснение кода листинга программы
Код выполняет следующие действия:
- Ввод значения переменной
nс помощью функции ReadInteger. - Создание списка простых чисел с помощью метода Range и функции Where.
a. Переменная
numberпринимает значения из диапазона от 2 до n. b. Для каждого числаnumberпроверяется, является ли оно простым числом. c. Для каждого простого числаnumberпроверяется, является ли оно числом-близнецом. - Если найдены пары чисел-близнецов, они выводятся на экран с помощью функции writeln.
- Выводится список простых чисел с помощью функции writeln.