В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Maks2021
Maks2021
14.05.2021 12:18 •  Информатика

Ниже записана программа. получив на вход число x, эта программа печатает два числа. укажите набольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 24. var x, a, b : integer; begin readln(x); a : = 0; b : = 1; while x > 0 do begin a : = a + 1; b : = b * (x mod 8); x : = x div 8; end; writeln(a); write(b); end.

Показать ответ
Ответ:
Irishka2k17
Irishka2k17
03.10.2020 14:55
В цикле а увеличивается каждый раз на 1, значит, цикл идет 3 раза.
b каждый раз умножается на остаток деления х на 8.
Получается 24 = 1*4*6 = 2*3*4 = 2*2*6
х каждый раз целочисленно делится на 8. Последний раз получается 0.
Пусть остатки были равны 1, 4 и 6.
Тогда число х должно быть равно 1+(4+6*8)*8 = 417.
Пусть остатки были равны 2, 3 и 4.
Тогда число х должно быть равно 2+(3+4*8)*8 = 282.
Пусть остатки были равны 2, 2 и 6.
Тогда число х должно быть равно 2+(2+6*8)*8 = 402.
Наибольшее из чисел - 417.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота