Есть ответ 👍

Дан рекурсивный алгоритм: procedure f(n: integer); begin writeln('*'); if n > 0 then begin writeln('*'); f(n-2); f(n-2); f(n div 2); end end; сколько символов "звездочка" будет напечатано на экране при выполнении вызова f(6)?

136
483
Посмотреть ответы 1

Ответы на вопрос:


нечётко сформулировано!

объём информации о чём? если о количестве сделанных ходов, то это 15=fh, то есть достаточно 4бит(полубайта), но, подозреваю, что объём совсем не этой информации требуется найти. уточни, какой.

иначе "пойди туда, не знаю, куда; принеси то, не знаю, что". не в сказке ж живём.

 

да, ещё раз почитал, может речь идет о последовательности ходов и её объёме?

в этом случае всё просто - объём равен 15*n, где n-количество байт на один ход.

ячейку можно кодировать двумя разными способами

1. последовательно их перенумеровав. в этом случае макс. номер будет 24(если нумеровать с 0). так как     2^4   < 24< 2^5, то для такой нумерации потребуется 5 бит.

2. указавая строку,столбец, каждая из которых находится в интервале (1,5), ну или (0,4)

на что потребуется 3 бита, а на пару 6 бит.

таким образом, 1 способ экономней.

и запись 15 ходов можно поместить в 15*5=75бит= 10байт 

 

или всё же  не это имелось в виду?

Популярно: Информатика