ВБ
Виолетта Барбашина

почему такую рекурсию функций не делают, она понятнее?

public int c(int s) {
int n=0;
if (n == s) return 1;
s = c(n + 1) * s;
return n;




}

АП
Алексей Поляруш

Для чего? !
Почему не делают? !

Откуда такие предположения?

Много ли ты строк кода прочитал/написал?

Лично я рекурсии стараюсь обходить сторонной, ибо ошибится очень легко, а потом ищи. .
Да и потом, смысл в ней? ! для чего s?! оно не передаётся.

###Конкретно в этой рекурсии, смысл не большой, s не будет равна n, только может быть в первом случае, а если в первый раз s != 0, тогда подвиснет твоя рекурсия

пример:

функция вызывается с s==0

сравнение n == s? вышел.. .

если функция вызывается с s!=0

сравнение n == s? нет

вызываем снова функцию, где наша s = n+1 // n = 0, т. е. теперь наша S == 1

и опять тоже самое, пока не подвиснет

ЕН
Евгения Новикова

Не бойся рекурсии, если из неё гарантирован выход при каких-то условиях.
Если проверку на выход не сделать или проверка всегда окажется ложной, то у тебя будет переполнение стека.

ЮМ
Юлия Маторина

в данном случае одно понятно -- вы либо прикидываетесь, либо в упор не понимаете что эта рекурсия "бесконечна"

АС
Альбина Самигуллина

Прикольная функция. При s<0 будет всегда выдавать 0, при s=0 - выдает 1. А при s>0 зацикливается! Ппц какая понятная рекурсия.

Похожие вопросы
Помогите освоить рекурсию
Задача по рекурсии. С++
Программирование. Паскаль. Рекурсия.
паскаль рекурсия вычислить
Рекурсия функции без Stack Overflow (C++)
Ктото может помоч с Рекурсией?
Как быть с многоразмерными массивами? Рекурсия?
рекурсия pascal вычисление степени
рекурсия pascal дерево вызовов
Покажите пример рекурсии в Ruby.