
Руслан
5 год назад
Определите, количество чисел 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.Пожалуйста посчитайте решить, пожалуйста. нужно расписать
ОТВЕТЫ

Антон
Oct 24, 2020
Посмотри как функция строится
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
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
806
Смежные вопросы: