在此程序中,您將學習在Kotlin中使用for循環(huán)和while循環(huán)來計算自然數(shù)之和。您還將看到使用 range 如何有助于解決問題。
正數(shù)1、2、3 ...稱為自然數(shù),其和是從1到給定數(shù)字的所有數(shù)字的結果。
對于n,自然數(shù)之和為:
1 + 2 + 3 + ... + n
fun main(args: Array<String>) { val num = 100 var sum = 0 for (i in 1..num) { // sum = sum+i; sum += i } println("Sum = $sum") }
運行該程序時,輸出為:
Sum = 5050
上面的程序從1到給定的num(100)循環(huán),并將所有數(shù)字加到變量sum中。
與Java不同,在Kotlin中,可以使用 range(1..num) 和 in 運算符循環(huán)遍歷1到num之間的數(shù)字。
這是等效的Java代碼:計算自然數(shù)總和的Java程序
您還可以使用while循環(huán)解決此問題,如下所示:
fun main(args: Array<String>) { val num = 50 var i = 1 var sum = 0 while (i <= num) { sum += i i++ } println("Sum = $sum") }
運行該程序時,輸出為:
Sum = 1275
在上面的程序中,與for循環(huán)不同,我們必須遞增循環(huán)體內 i 的值。
盡管兩個程序在技術上都是正確的,但在這種情況下最好使用for循環(huán)。這是因為迭代次數(shù)(最大為num)是已知的。