正数 1, 2, 3... 被称为自然数。下面的程序从用户那里获取一个正整数,并计算到给定数字的总和。
您还可以 使用循环计算自然数之和。不过,在这里您将学习如何使用递归来解决这个问题。
示例:使用递归查找自然数之和
fun main(args: Array<String>) {
val number = 20
val sum = addNumbers(number)
println("Sum = $sum")
}
fun addNumbers(num: Int): Int {
if (num != 0)
return num + addNumbers(num - 1)
else
return num
}
运行程序后,输出将是
Sum = 210
要计算总和的数字存储在变量 number 中。
最初,addNumbers()
函数从 main()
函数调用,并将 20 作为参数传递。
变量 number(20)将与 addNumbers(19)
的结果相加。
在从 addNumbers()
到 addNumbers()
的下一次函数调用中,将传递 19,它将与 addNumbers(18)
的结果相加。此过程一直持续到 num 等于 0。
当 num 等于 0 时,没有递归调用,它会将整数的和返回给 main()
函数。
以下是等效的 Java 代码:使用递归查找自然数之和的 Java 程序