Информатика, вопрос задал vkharisov , 2 года назад

Объясните пожалуйста, как получаются такие значения

Приложения:

iwantknowaboutjt68h4: Тебе нужно объяснить как код работает?

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

Ответил KennyLans
1

Ну у нас условие, если n (наше число) > 3, то мы выполняем определенные действия, если < 3, то у нас выводится наше введённое число.

------------------------------------------------------------------

Например. Я ввёл n = 16, то у меня выполнит сначала эти действия:

F: = F (n - 2) + F (n div 2) // (16 - 2) + (16 : 2) = 14 + 8 = 22.

Ответ: 22.

------------------------------------------------------------------

Ещё пример. Я ввёл n = 1, то у меня ответ будет 1, потому что 1 < 3.

Ответ: 1.

------------------------------------------------------------------


iwantknowaboutjt68h4: Тут ещё немного "магии" с рекурсией. Видишь ли, сколь большим бы число не было, оно в итоге будет сведено к трём и решено вторым методом, полученные результаты ты сложишь. Метод решения считается элегантным но если ты вложишь туда, банально, слишком большое число, то у тебя может переполниться стек.
iwantknowaboutjt68h4: И вот ещё, тут получается так что ты уменьшаешь аргументы функции двумя разными способами, делением 'n' на и разницей 'n' числа с 2-кой. Просто сяд и попробуй нарисовать это, сразу всё поймешь.
Ответил iwantknowaboutjt68h4
0

Ответ:

Объяснение:

Тут ещё немного "магии" с рекурсией. Видишь ли, сколь большим бы число не было, оно в итоге будет сведено к трём и решено вторым методом, полученные результаты ты сложишь. Метод решения считается элегантным но если ты вложишь туда, банально, слишком большое число, то у тебя может переполниться стек.

И вот ещё, тут получается так что ты уменьшаешь аргументы функции двумя разными способами, делением 'n' на и разницей 'n' числа с 2-кой. Просто сяд и попробуй нарисовать это, сразу всё поймешь.

Новые вопросы