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

Ответы

Ответ дал: huston81
1

Ответ:

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.


Emma6Fox: А почему в min 29994?
Ответ дал: BobbyFresnel
0

// 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.

Вас заинтересует