|
0 / 0 / 0
Регистрация: 21.11.2020
Сообщений: 3
|
|
Вычислить количество элементов списка с использованием рекурсивной функции21.11.2020, 20:14. Показов 6576. Ответов 14
Метки нет (Все метки)
0
|
|
| 21.11.2020, 20:14 | |
|
Ответы с готовыми решениями:
14
Вычислить сумму элементов списка с использованием рекурсивной функции
|
|
693 / 471 / 204
Регистрация: 22.03.2020
Сообщений: 1,051
|
||||||
| 21.11.2020, 20:31 | ||||||
Сообщение было отмечено polinazarkov как решение
Решение
2
|
||||||
|
36 / 30 / 13
Регистрация: 08.12.2012
Сообщений: 810
|
||
| 26.01.2025, 05:01 | ||
|
единица , которая плюсуется с чем.. вот тут для меня загадка, потому что в вызове функции, идет постоянное сокращение списка на 1 элемент , пока список не опустеет, а к чему тогда плюсуется единица и как этому помогает список в функции
0
|
||
|
Супер-модератор
|
||
| 26.01.2025, 08:51 | ||
|
Цепочка возвратов будет такая: size_list([11,22,33]) -> 1+ size_list([22,33]) -> 1+1+size_list([33]) -> 1+1+1+size_list([]) -> 1+1+1+0 = 3
2
|
||
|
Любознательный
7404 / 2251 / 360
Регистрация: 10.03.2016
Сообщений: 5,209
|
|||||||||
| 26.01.2025, 11:20 | |||||||||
|
А возвращает она сумму, формирующуюся на каждом шаге вызова, примерно так: Допустим, у нас список из четырех элементов ['a','b','c','d'], тогда в стеке будут сформированы четыре ящичка-функции. Формирование этих ящичков-функций происходит до тех пор, пока длина списка, посредством срезов (на каждом шаге она уменьшается), не станет равна нулю: 1 + fun(a[1:]) 1 + fun(a[1:]) 1 + fun(a[1:]) 1 + fun(a[1:]) здесь следует возврат 0, т.к. список закончился и сработал условный блок. Далее следует разбор стека (по принципу LIFO) в обратном порядке (ибо в каждое место вызова следует возвращаться, но уже с конкретным результатом): return 1 + 0 return 1 + 1 return 1 + 2 return 1 + 3 - и вот тут происходит возврат в место первичного вызова функции, со значением той самой суммы которую хотели получить. Добавлено через 44 секунды ![]() ![]() Нагляднее показать через рекурсивную функцию факториала:
1. func(4) 2. 4 * func(3) 3. 4 * 3 * func(2) 4. 4 * 3 * 2 * func(1) - и теперь пошли возвраты, но теперь уже с вычислениями: 4. 4 * 3 * 2 * 1 3. 4 * 3 * 2 2. 4 * 6 1. 24 - получен результат.
1
|
|||||||||
|
36 / 30 / 13
Регистрация: 08.12.2012
Сообщений: 810
|
||||||||||||
| 26.01.2025, 15:24 | ||||||||||||
|
они ведь не привязаны ни к какой переменной в функции например в этом коде
но если вместо единицы, например подставить переменную из списка lst из следующего кода
будет считаться сумма, а в случае с факториалом - произведение всех чисел
0
|
||||||||||||
|
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,293
|
|||||||
| 26.01.2025, 15:36 | |||||||
2
|
|||||||
|
Любознательный
7404 / 2251 / 360
Регистрация: 10.03.2016
Сообщений: 5,209
|
||||||
| 26.01.2025, 19:08 | ||||||
![]() Добавлено через 7 минут ujif, да, я там объясняя, чуток ошибся. Вызовы функции:
1
|
||||||
|
36 / 30 / 13
Регистрация: 08.12.2012
Сообщений: 810
|
|
| 26.01.2025, 19:51 | |
|
0
|
|
|
Любознательный
7404 / 2251 / 360
Регистрация: 10.03.2016
Сообщений: 5,209
|
||
| 27.01.2025, 10:24 | ||
|
Только вот, чтобы понять, что такое רקורסיה , необходимо сначала прочитать буквы, как минимум
0
|
||
|
36 / 30 / 13
Регистрация: 08.12.2012
Сообщений: 810
|
|
| 27.01.2025, 13:50 | |
|
0
|
|
| 27.01.2025, 13:50 | |
|
Помогаю со студенческими работами здесь
15
Вычислить с использованием рекурсивной функции факториал
Вычислить значение функции, разложив f(x) в ряд Тейлора. Разработать с использованием рекурсивной функции и без Разработать программу согласно алгоритму с использованием рекурсивной функции и без использования рекурсивной Произведение элементов одномерного массива с использованием рекурсивной функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|