原文: https://www.programiz.com/kotlin-programming/examples/sum-natural-numbers-recursion
在此程序中,您将学习在 Kotlin 中使用递归查找自然数之和。 这是在递归函数的帮助下完成的。
正数 1、2、3… 称为自然数。 下面的程序从用户处获取一个正整数,然后计算得出给定数字的总和。
您也可以使用循环查找自然数的总和。 但是,您将在此处学习使用递归解决此问题。
示例:使用递归的自然数之和
fun main(args: Array<String>) {val number = 20val sum = addNumbers(number)println("Sum = $sum")}fun addNumbers(num: Int): Int {if (num != 0)return num + addNumbers(num - 1)elsereturn num}
运行该程序时,输出为:
Sum = 210
将求和的数字存储在变量num中。
最初,从main()函数调用addNumbers(),并将 20 作为参数传递。
num(20)被添加到addNumbers(19)的结果中。
在从addNumbers()到addNumbers()的下一个函数调用中,传递了 19,该值被添加到addNumbers(18)的结果中。 该过程一直持续到num等于 0。
当num等于 0 时,没有递归调用,这将整数和返回给main()函数。
以下是等效的 Java 代码:使用递归查找自然数之和的 Java 程序
