|
0 / 0 / 0
Регистрация: 21.11.2020
Сообщений: 3
|
|
Вычислить количество элементов списка с использованием рекурсивной функции21.11.2020, 20:14. Показов 6640. Ответов 14
Метки нет (Все метки)
0
|
|
| 21.11.2020, 20:14 | |
|
Ответы с готовыми решениями:
14
Вычислить сумму элементов списка с использованием рекурсивной функции
|
|
693 / 471 / 204
Регистрация: 22.03.2020
Сообщений: 1,051
|
||||||
| 21.11.2020, 20:31 | ||||||
Сообщение было отмечено polinazarkov как решение
Решение
2
|
||||||
|
37 / 31 / 13
Регистрация: 08.12.2012
Сообщений: 815
|
||
| 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
|
||
|
Любознательный
7406 / 2259 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
|
|||||||||
| 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
|
|||||||||
|
37 / 31 / 13
Регистрация: 08.12.2012
Сообщений: 815
|
||||||||||||
| 26.01.2025, 15:24 | ||||||||||||
|
они ведь не привязаны ни к какой переменной в функции например в этом коде
но если вместо единицы, например подставить переменную из списка lst из следующего кода
будет считаться сумма, а в случае с факториалом - произведение всех чисел
0
|
||||||||||||
|
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
|
|||||||
| 26.01.2025, 15:36 | |||||||
2
|
|||||||
|
Любознательный
7406 / 2259 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
|
||||||
| 26.01.2025, 19:08 | ||||||
![]() Добавлено через 7 минут ujif, да, я там объясняя, чуток ошибся. Вызовы функции:
1
|
||||||
|
37 / 31 / 13
Регистрация: 08.12.2012
Сообщений: 815
|
|
| 26.01.2025, 19:51 | |
|
0
|
|
|
Любознательный
7406 / 2259 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
|
||
| 27.01.2025, 10:24 | ||
|
Только вот, чтобы понять, что такое רקורסיה , необходимо сначала прочитать буквы, как минимум
0
|
||
|
37 / 31 / 13
Регистрация: 08.12.2012
Сообщений: 815
|
|
| 27.01.2025, 13:50 | |
|
0
|
|
| 27.01.2025, 13:50 | |
|
Помогаю со студенческими работами здесь
15
Вычислить с использованием рекурсивной функции факториал
Вычислить значение функции, разложив f(x) в ряд Тейлора. Разработать с использованием рекурсивной функции и без Разработать программу согласно алгоритму с использованием рекурсивной функции и без использования рекурсивной Произведение элементов одномерного массива с использованием рекурсивной функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль корректности заполнения дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|