Дается число n. Вернуть сумму от 1 до n без использования циклов

Рейтинг: -7Ответов: 1Опубликовано: 16.02.2023

Дается число 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

Поскольку от вас требуют именно рекурсию, нужно предусмотреть условие остановки. Оно будет особенно простым, если вести суммирование сверху вниз.

Псевдокод для рекурсии:

int sumn(int n) {
   if (n < 1) 
      return 0;
   return n + sumn(n-1);
}

Тело функции можно свести к одной строчке при использовании тернарного оператора

   return (n>0)? n+sumn(n-1): 0;