kuytdrg87
04.04.2023 05:32

Автомат обрабатывает натуральное число N по следующему алгоритму:
1. Строится двоичная запись числа N. 2. Складываются все цифры полученной двоичной записи. В конец записи (справа) дописывается
остаток от деления полученной суммы на 2. 3. Предыдущий пункт повторяется для записи с добавленной цифрой. 4. Результат переводится в десятичную систему и выводится на экран. Пример. Дано число N = 13. Алгоритм работает следующим образом:
1. Двоичная запись числа N: 1101. 2. Сумма цифр двоичной записи 3, остаток от деления на 2 равен 1, новая запись 11011. 3. Сумма цифр полученной записи 4, остаток от деления на 2 равен 0, новая запись 110110. 4. На экран выводится число 54. Сколько различных чисел, меньших 80, могут появиться на экране в результате работы автомата с решением

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
TheNekyTyan
03.02.2020 00:58
Program ZAD00; {} uses crt;
var a,b:array[1..20] of real;
i:integer;
mina,minb,s:real;
Begin
{ заполнение массива А}
for i:=1 to 7 do begin write('введите элементы a[',i,']='); read(a[i]); end;
{ заполнение массива B}
for i:=1 to 9 do begin write('введите элементы b[',i,']='); read(b[i]); end;
{ min в массиве А}
mina:=a[1];
for i:=1 to 7 do begin
a[8]:= 32767 ;
if (a[i]>= a[i+1]) and (a[i+1]<=mina) then mina:=a[i+1]  end;
{ min в массиве B}
minb:=b[1];
for i:=1 to 9 do begin
b[10]:=32767;
if (b[i]>= b[i+1]) and (b[i+1]<=minb) then minb:=b[i+1]  end;
{ сложение minA и minB}
s:=mina+minb;
{ вывод результатов на экран
for i:=1 to 7 do begin write(a[i],' '); writeln; end;
for i:=1 to 9 do begin write(b[i],' '); writeln; end;
writeln('minA=',mina);
writeln('minB=',minb);
writeln('сумма их s=', s);
End.
0,0(0 оценок)
Ответ:
gerty1000
05.03.2020 23:47
Не трудно, но не полностью условие выполнено. Лови решение:

program arrs;
var
a : array[1..26] of integer;
i, min, max : integer;
m1, m2 : byte;

begin
randomize;
for i:=1 to 26 do begin
a[i] := random(29)-15;
write(a[i], ' ');
end;
min := 15;
max := -20;
for i:=1 to 26 do begin
if a[i] < min then begin
min:=a[i];
m1 := i;
end;
if a[i] > max then begin
max:=a[i];
m2 := i;
end;
end;
writeln;
writeln('Минимальный элемент в ячейке ', m1, ' равен ', min);
writeln('Максимальный элемент в ячейке ', m2, ' равен ', max);
end.

тестовый прогон:

0 2 -1 2 -9 -13 -9 -5 0 -14 11 6 8 -11 13 3 -15 -6 -15 -14 -3 13 9 7 3 -4
Минимальный элемент в ячейке 17 равен -15
Максимальный элемент в ячейке 15 равен 13
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота