編碼新手,快速作業問題我遇到了麻煩。我必須找到前 100 個自然數的總和。1 2 3 4,以此類推。使用“while 回圈”時。
這是我到目前為止。
Dim sum, count As Integer
Const num As Integer = 1
Console.WriteLine("The Sum of the first 100 natural numbers is:")
count = num 1
While count <= 100
Count = num count
End While
Sum = count
Console.WriteLine("{0}", sum)
Console.ReadLine()
我知道數學和 while 回圈是不正確的,但我不知道如何解決它。我一直得到 101 作為我的答案。
uj5u.com熱心網友回復:
問題是你的初始化。做這個:
Const num As Integer = 0
uj5u.com熱心網友回復:
While count <= 100
num = count
count = 1
End While
Sum = num
uj5u.com熱心網友回復:
您不需要 num 常量和行:count = num 1
While count <= 100
sum = count
count = 1
End While
uj5u.com熱心網友回復:
我知道您正在學習,解決方案必須使用 While 回圈,但為了好玩,看看您可以在 2 行代碼中做什么。
Dim arrNumbers = Enumerable.Range(1, 100).ToArray
Console.WriteLine(arrNumbers.Sum)
uj5u.com熱心網友回復:
由于您的問題標題要求所有 [1 - 100] 的總和以及偶數和幾率,這里是每個的一些 LINQ
Dim sum = Enumerable.Range(1, 100).Sum()
Dim sumEvens = Enumerable.Range(1, 100).Sum(Function(i) If(i Mod 2 = 0, i, 0))
Dim sumOdds = Enumerable.Range(1, 100).Sum(Function(i) If(i Mod 2 = 0, 0, i))
Console.WriteLine($"Sum: {sum}, Sum evens: {sumEvens}, Sum odds: {sumOdds}")
總和:5050,總和:2550,總和賠率:2500
Enumerable.Range(1, 100)創建所有 [1 - 100] 的序列。呼叫 LINQ 函式Sum以簡單地獲取總和,或者您可以傳遞一個 lambda 函式Sum來轉換數字。使用Mod選擇埃文斯或賠率。上述方法將偶數的賠率設定為 0,反之亦然。
這種轉換序列的方法的替代方法是使用Where僅選擇偶數 then Sum,這可能更具可讀性。
Dim sumEvens = Enumerable.Range(1, 100).Where(Function(i) i Mod 2 = 0).Sum()
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/320890.html
標籤:网络
下一篇:檢索保存在資料表中的串列
