>> СПИКЕР 1: В этом последней версии сигма, я реализовал то, что я назвал бы
итерационное решение, в результате чего я использовал вперед петля подсчитать все
числа от 1 до м, после этого возвращая сумму.
>> Но, оказывается, мы можем использовать другой Техника для реализации в том же
Функция, метод, известен как рекурсии.
Рекурсивная функция, так сказать, просто тот, который называет себя.
Теперь, само по себе, что могут быть проблемы.
Если функция просто называет себя, которые называет себя которая называет себя,
что процесс может бот когда-нибудь закончится.
Но пока мы включают так называемый базовый вариант, условие, которое обеспечивает
что в некоторых ситуациях мы не называем сами, что процесс в противном случае
бесконечное зацикливание должно быть прекращено.
>> Давайте теперь переопределить сигма следующим образом.
Если п меньше или равно 0, я просто, и несколько произвольно,
собирается возвращать 0.
Остальное, что я собираюсь сделать, это на самом деле вычислить сигма для положительного междунар
, что я передал.
>> Теперь, что сигма м?
Ну, сигма т, конечно, сумма 1 через м.
Но если мы думаем об этом по-другому, это просто сумма м плюс м
минус 1 плюс минус 2 м и т. д., все, вплоть до 1.
Так что в этом смысле, кажется, что Я мог просто вернуться M Plus.
>> А потом мне нужно м минус 1 плюс 2 м минус.
Но у меня есть функция, которая может дать мне точно, что ответ, а именно
сигма т минус 1.
>> Теперь, называя себя таким образом не походить на лучшую идею.
Потому что, если сигма называет сигма который вызывает сигма которая призывает сигма, вы
было бы думать, что этот процесс никогда не может закончиться.
Но именно поэтому у нас был так называемый базу случай в верхней части этой функции.
Если условие, которое проверяет, если т меньше или равно 0 Я не собираюсь
называть себя.
Я вместо собирается возвращать 0, которые в свою очередь, будут добавлены к
предыдущие цифры, которые я суммирования вверх, таким образом останавливая это
в противном случае бесконечный процесс.
>> Давайте посмотрим, если это новое реализация работает.
Спасем, компиляции и запустить эту программу.
Сделать сигма 1 точка слэш сигма 1.
И давайте предоставить ему те же номера, что и раньше.
2, которые, будем надеяться, дать мне 3.
Давайте предоставить ему 3, что я надеюсь дать мне 6.
И давайте, наконец, обеспечить его 50, которая действительно дает мне 1275.