Вопрос задан 27.06.2023 в 16:11. Предмет Информатика. Спрашивает Плющев Юрий.

Напишите программу, которая выводит все простые числа с чётной суммой цифр в диапазоне от K до N (

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

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Приведенная ниже программа на языке Pascal выполняет задачу по выводу всех простых чисел с четной суммой цифр в заданном диапазоне от K до N:

pascal
program 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".

0 0

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

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

Последние заданные вопросы в категории Информатика

Задать вопрос