Дается число n. Вернуть сумму от 1 до n без использования циклов
Дается число n. Вернуть сумму от 1 до n без использования циклов. Java 11. Задачка: Input : a=5. Output :a=15. public static int sum1n(int a) return 1; }
Как из a = 5 сделать a = ? Это должно быть рекурсией, если a-=4, то будет бесконечная функция, как этого избежать?
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Поскольку от вас требуют именно рекурсию, нужно предусмотреть условие остановки. Оно будет особенно простым, если вести суммирование сверху вниз.
Псевдокод для рекурсии:
int sumn(int n) {
if (n < 1)
return 0;
return n + sumn(n-1);
}
Тело функции можно свести к одной строчке при использовании тернарного оператора
return (n>0)? n+sumn(n-1): 0;