迴歸基礎 C# 數字求和有哪些方法

迴歸基礎 C# 數字求和有哪些方法

問題:數字求和,創建一個以數字作爲參數的函數。 將所有數字從 1 加到你傳遞給函數的數字上。 例如,如果輸入爲 4,則你的函數應返回 10,因爲 1 + 2 + 3 + 4 = 10。

public class Program 
{
    public static int AddUp(int num) 
    {
      
    }
}

解法 1:公式法,即高斯求和法。

Sum from 1 to n

public class Program 
{
    public static int AddUp(int num) => (num * (num+1)) / 2 ;
    
}

解法 2:LINQ Enumerable.Sum 方法。

using System.Linq;

public class Program 
{
    public static int AddUp(int num) => Enumerable.Range(1, num).Sum();
}

解法 3:循環法。

for 循環

public class Program 
{
    public static int AddUp(int num) 
    {
      int sum = 0;
      for (int i = 0; i <= num; i++){
        sum = i + sum;
      }
      return sum;
    }
}

while 循環

public class Program 
{
    public static int AddUp(int num) 
    {
      int i = 1;
      int sum = 0;
      while(i <= num){
          sum += i;
	  i++;
	}
       return sum;
    }
}

解法 4:經典遞歸法。

public class Program 
{
    public static int AddUp(int num) 
    {
        return (num==0)?0:num+AddUp(num-1);
    }
}

解法 5:去探索吧…

數學家高斯

參考:

Techniques for Adding the Numbers 1 to 100:
Enumerable.Sum Method:
Enumerable.Range(Int32, Int32) Method:
C# Sum Method: Add up All Numbers:
for (C# reference):
Sum of natural numbers using recursion:
C# Back to Basics – Recursion and Recursive Methods:
知乎想法 C# 數字求和有哪些方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章