На вход алгоритма подаётся натуральное число n. алгоритм строит по нему новое число r следующим образом. 1. строится двоичная запись числа n. 2. к этой записи дописываются справа ещё два разряда по следующему правилу: если n чётное, в конец числа (справа) дописывается сначала ноль, а затем единица. в противном случае, справа дописывается сначала единица, а затем ноль. например, двоичная запись 100 числа 4 будет преобразована в 10001, а двоичная запись 111 числа 7 будет преобразована в 1110. полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа n) является двоичной записью числа r – результата работы данного алгоритма. укажите минимальное число r, которое меньше 128 и может являться результатом работы данного алгоритма. в ответе это число запишите в десятичной системе счисления.
var
n, k, s, sa: integer;
begin
k := 0;
s := 0;
sa := 0;
writeln('Введите последовательность, окончание ввода - число 0');
repeat
read(n);
if (n mod 4 = 0) and (n mod 10 = 2) then s := s + n;
if (n <> 0) and (n < 100) then inc(k);
sa := sa + n
until n = 0;
readln;
writeln('Сумма чисел, кратных 4 и заканчивающихся на 2, равна ', s);
writeln('Количество чисел, не больших 100, равно ', k);
writeln('Сумма последовательности равна ', sa);
readln
end.
Объяснение:
program zz1;
var n,n1,n2,n3:integer; //задаем переменные
begin
write('введите заданное трехзначное число');
read(n); //вводим с клавиатуры заданное трехзначное число
n1:=n div 100; //находим первую цифру числа
n2:=(n mod 100) div 10; //находим вторую цифру числа
n3:=n mod 10; //находим третью цифру числа
if (n1 mod 2 = 0)and(n2 mod 2 = 0)and(n3 mod 2 = 0) //проверяем, если все цифры четные, то выводим один ответ, если нет, то другой
then write('все цифры числа четные ') else write('некоторые цифры числа не четные');
Объяснение: