Гуманитарий41
09.05.2020 17:16

Это оп программирование, с тестом

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
gaukhars01
18.11.2022 22:01

var

  a, b, n, i, j, t: integer;

  s, sn: string;

begin

    write ('введите начало отрезка: ');

    readln (a);

    write ('введите окончание отрезка: ');

    readln (b);

    n : = 0;

    for i : = a to b do begin

      s : = inttostr (i);

t : = 1;

for j : = 1 to length (s) do

        t : = t * strtoint (s[j]);

      if t > n then begin

        sn : = s;

        n : = t;

      end;

    end;

    writeln ('число с наибольшим произведением цифр: ' + sn);

end;

0,0(0 оценок)
Ответ:
tanakovalizka1
05.10.2022 16:49
Сначала код без комментариев:

Var
S:longint;
i:integer;
A:byte;

Begin
S:=0;
Repeat
   Read(A);
   if (A mod 2 <> 0)and(A mod 7 = 0) then S:=S+A;
Until A = 0;
WriteLn('S = ',S);
End.

Теперь объяснение каждой строки:

Var
S:longint;
i:integer;
A:byte; // В эту переменную будет вводится число с клавиатуры. Тип Byte может принимать значения от 0 до 255. Поэтому его как раз хватит.

Begin
S:=0; // Тут будет храниться сумма, поэтому переменную следует сперва обнулить.

Repeat // далее начинается цикл
   Read(A); // эта команда каждый раз считывает с клавы число, и записывает его в переменную A.

   if (A mod 2 <> 0)and(A mod 7 = 0) then S:=S+A; //тут проверяется 2 условия, и если они выполняются - к переменной S прибавляется значение переменной А
   1 условие: число нечётно, то есть остаток от деления его на 2 не равен нулю (A mod 2 <>0)
   2 условие: Число кратно 7, то есть делится без остатка на 7, то есть остаток от деления равен нулю (A mod 7 = 0)

Until A = 0; // Цикл повторяется до тех пор, пока введённое с клавы число не будет равно нулю (A = 0)

WriteLn('S = ',S); // Тут выводится искомая сумма
End.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота