
Напишите программу, которая выводит все простые числа с чётной суммой цифр в диапазоне от K до N (
2 ≤ K ≤ N ≤ 100000 ). Входные данные Входная строка содержит два натуральных числа, разделённые пробелом, K и N ( 2 ≤ K ≤ N ≤ 100000 ). Выходные данные Программа должна вывести все простые числа с чётной суммой цифр в диапазоне от K до N в одну строку, разделив их пробелами. Если таких чисел нет, нужно вывести число 0. На паскале.

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

Ответ:
program HomeWork;
var k,n,j:integer;
function IsPrime(a:integer):boolean;
var i:integer;
begin
IsPrime:=True;
for i:=2 to a-1 do
begin
if a mod i = 0 then
begin
IsPrime:=False;
break
end
end
end;
function IsSumEven(a:integer):boolean;
var i,s:integer;
begin
IsSumEven:=False;
s:=0;
while a > 0 do
begin
i:=a mod 10;
a:=a div 10;
s:=s+i
end;
if s mod 2 = 0 then IsSumEven:=True
end;
begin
write('Введите два натуральных числа, разделённые пробелом, K и N ( 2 ≤ K ≤ N ≤ 100000 ): '); readln(k,n);
for j:=k to n do
begin
if IsPrime(j) = True then if IsSumEven(j) = True then write(j, ' ')
end
end.



Приведенная ниже программа на языке Pascal выполняет задачу по выводу всех простых чисел с четной суммой цифр в заданном диапазоне от K до N:
pascalprogram PrimeNumbersWithEvenSum; var K, N, num, digitSum, i: integer; isPrime: boolean; function IsPrimeNumber(n: integer): boolean; var j: integer; begin if n <= 1 then IsPrimeNumber := false else begin IsPrimeNumber := true; for j := 2 to Trunc(Sqrt(n)) do begin if n mod j = 0 then begin IsPrimeNumber := false; break; end; end; end; end; begin readln(K, N); if (K < 2) or (N > 100000) or (K > N) then begin writeln('Неправильные входные данные'); exit; end; num := K; while num <= N do begin digitSum := 0; i := num; while i > 0 do begin digitSum := digitSum + (i mod 10); i := i div 10; end; if (digitSum mod 2 = 0) and IsPrimeNumber(num) then begin write(num, ' '); end; Inc(num); end; if digitSum mod 2 <> 0 then writeln('0') else writeln; end.
Сначала программа считывает значения K и N, а затем перебирает числа в диапазоне от K до N. Для каждого числа вычисляется сумма его цифр, и проверяется, является ли она четной. Затем для чисел с четной суммой цифр проверяется, являются ли они простыми числами с использованием функции IsPrimeNumber
. Если число удовлетворяет обоим условиям, оно выводится на экран. Если не найдено ни одного такого числа, программа выводит "0".


Похожие вопросы








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