Определите, при каком наименьшем значении b в результате выполнения следующего алгоритма...

0 голосов
78 просмотров

Определите, при каком наименьшем значении b в результате выполнения следующего алгоритма будет напечатано число 15.

Ответ есть, но нигде не могу найти принцип решения, объясните кто-нибудь, пожалуйста.


image

Информатика (15 баллов) | 78 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Рекурсивная функция f вычисляет значение 8*а.
В самом деле, f(0)=0, f(1)=8; f(2)=16 и т.д.
В основной программе цикл выполняется до тех пор, пока f(a)F(14)\ \textless \ b\leqslant F(15) \\ 8\cdot 14\ \textless \ 
b\leqslant 8\cdot 15 \\ 112\ \textless \ b\leqslant 120 \to b \in 
(112;120], b \in \mathbb N
Переходя к "простому языку получаем, что b должно быть целым числом, находящемся в интервале от 113 до 120. Минимальное значение b в этом случае равно 113.
Ответ: 113

(142k баллов)
0

что-то в Ваших расчетах не так. Эти значения не влияют на условие. Свои расчеты проверил программой. при 112 - печатает 14 а при 113 печатает 15. Может нужно уточнить расчеты?

0

Скорее, Вам программу надо свою проверить.

0

Программа из задания и результат 15 при в = 113

0

Согласен, неправ, 120 - это верхнее значение b, при котором получается a=15. Нижняя граница b - это a(14)+1. Будем исправлять...

0 голосов

Печатать 14 будет последний раз при В = F(15-1)+8 или
8+8...8= 14 раз по 8 = 112
Если В = 112 то будет печатать 14
Увеличим В на 1, т.е. В=113 будет печатать 15.
Это рекурсия. 


image
(6.5k баллов)
0

Программа из задания и результат 15 при в = 113