在此程序中,您将学习使用Kotlin中的递归来查找自然数之和。这是在递归函数的帮助下完成的。
正数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 中。
最初,从main()函数中调用addNumbers(),并以20作为参数传递。
并将number(20)加到的结果 addNumbers(19) 中。
在从addNumbers()到addNumbers()的下一个函数调用中,传递了19,它被添加到addNumbers(18)的结果中。这个过程一直持续到num等于0。
当num等于0时,没有递归调用,这会将整数和返回给main()函数。
这是等效的Java代码:使用递归查找自然数之和的Java程序