在此程序中,您將學習使用Kotlin中的遞歸來查找自然數(shù)之和。這是在遞歸函數(shù)的幫助下完成的。
正數(shù)1、2、3 ...稱為自然數(shù)。下面的程序從用戶處獲取一個正整數(shù),然后計算得出給定數(shù)字的總和。
您也可以使用循環(huán)找到自然數(shù)的總和 。但是,您將在此處學習使用遞歸來解決此問題。
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
要求和的數(shù)字存儲在變量number 中。
最初,從main()函數(shù)中調用addNumbers(),并以20作為參數(shù)傳遞。
并將number(20)加到的結果 addNumbers(19) 中。
在從addNumbers()到addNumbers()的下一個函數(shù)調用中,傳遞了19,它被添加到addNumbers(18)的結果中。這個過程一直持續(xù)到num等于0。
當num等于0時,沒有遞歸調用,這會將整數(shù)和返回給main()函數(shù)。
這是等效的Java代碼:使用遞歸查找自然數(shù)之和的Java程序