Пожалуйста, помогите с решением...Обусловьте, количество чисел K, для которых последующая

Пожалуйста, помогите с решением...

Определите, количество чисел K, для которых последующая программка выведет таковой же итог, что и для K = 36:
var i, k: integer;
function F(x:integer):integer;
begin
if x lt; 2 then
F:= 1
else F:= F(x-1) + 2*F(x-2);
end;
begin
i := 28;
readln(K);
while (i gt; 0) and (F(i) gt; K) do
i:=i-1;
writeln(i);
end.

Задать свой вопрос
1 ответ

Для начала глядим что выходит при К= 36, выходит 5

Анализируем функцию F. Это линейная функция наподобии Фибоначи, означает ответом будет некоторый один отрезок из К

Позже немножко дорабатываем программу и смотрим на результат


var

   i, K, counter: integer;

function F(x: integer): integer;

begin

   if x lt; 2 then

       F := 1

   else F := F(x - 1) + 2 * F(x - 2);

end;

begin

   for K := 0 to 100 do  

   begin

       i := 28;

       //        readln(K);

       while (i gt; 0) and (F(i) gt; K) do  

           i := i - 1;

       

       if i = 5 then begin

           counter := counter + 1;

           writeln(counter, ') K = ', K);

       end;

   end

end.


Вывод

1) K = 21

2) K = 22

3) K = 23

4) K = 24

5) K = 25

6) K = 26

7) K = 27

8) K = 28

9) K = 29

10) K = 30

11) K = 31

12) K = 32

13) K = 33

14) K = 34

15) K = 35

16) K = 36

17) K = 37

18) K = 38

19) K = 39

20) K = 40

21) K = 41

22) K = 42


Ответ 22

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт