Вася изучал сейчас на информатике тему "Рекурсия". После урока на дощечке
Вася изучал сегодня на информатике тему "Рекурсия". После урока на дощечке осталась такая функция (для условия на языке Pascal процедура):
на языке Python:
def f(n):
print('*')
if n gt; 2:
f(n - 1)
f(n - 2)
на языке Pascal:
procedure f(n: longint);
begin
writeln('*');
if n gt; 2 then begin
f(n - 1);
f(n - 2);
end;
end;
на языке C++:
int f(int n)
cout lt;lt; '*' lt;lt; endl;
if (n gt; 2)
f(n - 1);
f(n - 2);
Вася задумался над таким вопросом а какое наименьшее естественное число необходимо поставить вместо n в вызов этой функции, чтоб было напечатано не меньше 1550 звездочек? Помогите ему узнать ответ на этот вопрос.
В качестве ответа укажите одно естественное число
f(1) - 1
f(2) - 1
f(3) - 3
f(4) - 5
f(5) - 9
Последующие значения можно вычислять, используя закономерность:
f(6) - 15 = 9+(9-3) = 9+6 = 15
f(7) - 25 = 15+(15-5) = 15+10 = 25
f(8) - 41 = 25+(25-9) = 25+16 = 41
f(9) - 41+(41-15) = 67
f(10) - 67+(67-25) = 109
f(11) - 109+(109-41) = 177
f(12) - 177+(177-67) = 287
f(13) - 287+(287-109) = 465
f(14) - 465+(465-177) = 753
f(15) - 753+(753-287) = 1219
f(16) - 1219+(1219-465) = 1973
Ответ: 16
-
Вопросы ответы
Статьи
Информатика
Статьи
Разные вопросы.
Разные вопросы.
Математика.
Русский язык.
Русский язык.
Разные вопросы.
Қазақ тiлi.
Английский язык.
Математика.
История.