Определите, количество чисел k, для которых следующая программа выведет такой же результат, что и для k = 45: var i, k: integer; function f(x: integer): integer; begin if x < 2 then f: = 1 else f: = 2*f(x-1) + f(x-2); end; begin i : = 0; readln(k); while f(i) < k do i: =i+1; writeln(i); end. решить, . нужно расписать
F(0)=1, F(1)=1, F(2)=3, F(3)=7, F(4)=17, F(5)=41, F(6)=99
То есть последующий элемент равен сумме удвоенного предыдущего и препредыдущего.
Код возвращает порядковый номер элемента, котрый больше данного K
Больше 45 будет шестой элемент, который равен 99.
Он также будет больше 42,43 и т.д.
Всего их 99-41=58 Если требуется исключить 45, то остается 57
Поясню, что 99 нам не подходит, а 41 подходит.
ответ:57