Напишите программу, которая в последовательности натуральных чисел находит разность между минимальным числом, кратным 3 и оканчивающемуся на 4, и максимальным числом с теми же характеристиками. Гарантируется, хотя бы одно число, отвечающее указанным требованиям, в последовательности найдется. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000.

magmet103p02l67 magmet103p02l67    3   18.05.2020 07:38    1

Ответы
Voprosik4695 Voprosik4695  14.10.2020 21:46

pascal

Объяснение:

var

n, min, max, zn: integer;

begin

min := 29994;

max := 0;

WriteLn('Введите числа (0 - для окончания):');

repeat

ReadLn(zn);

if (zn mod 10 = 4) and (zn mod 3 = 0) then

begin

  if zn < min then min := zn;

  if zn > max then max := zn;

end;  

until zn = 0;

WriteLn('Максимальное число по условию ', max);

WriteLn('Минимальное число по условию ', min);

WriteLn('Разность равна ', max - min);

end.

ПОКАЗАТЬ ОТВЕТЫ
DedPerdun DedPerdun  14.10.2020 21:46

// PascalABC.NET

begin

 var (min, max) := (30001, -30001);

 foreach var n in ReadSeqIntegerWhile(p -> p <> 0)

     .Where(p -> (p mod 10 = 4) and (p mod 3 = 0)).Println do

 begin      

   if n < min then

     min := n;

   if n > max then

     max := n

 end;  

 Print(min - max)  

end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика