簡體   English   中英

基本的C#如何使用power in for語句?

[英]Basic C# How to use power to in for statement?

我正在嘗試找到數字1到100的平方和

我想做什么

   static void Main(string[] args)
    {
        double squareSum = 0.0;

        for (int i = 1; i <= 100; i++)
        {
            double iSquared = Math.Pow(i, 2);
            iSquared += squareSum;
        }
        Console.WriteLine(squareSum);
        Console.ReadLine(); 

但是我不明白為什么“ iSquared + = squareSum”不起作用,我使用代碼中斷功能,發現squareSum保持為0。

我也試過

 for (int i = 1; i <= 100; i++)
            {
                i*i+=squareSum;
            }

但是它不允許在同一條語句中兩次使用“ i”,有沒有辦法這樣寫呢?

為什么在第一條語句中squareSum保持為0?

提前致謝。

您需要交換它們:

squareSum += iSquared;

首先去變量將增加。 請參見+ =運算符(C#參考)

@Sergey的答案是正確的。 不過,我認為您可能會發現這很有用:

var squareSum = Enumerable.Range(1, 100).Sum(x => x * x);
Console.WriteLine(squareSum);

當然,您將需要確保在文件頂部具有此名稱:

using System.Linq;

如果您想要第一個“ N”個連續自然數的平方和,則不需要Linq或for循環:

您只需要公式: [n * (n + 1) * (2n + 1)] / 6

在您的情況下,N = 100,因此,如果要使用C#編寫代碼,則:

int n = 100;
double result = (n * (n + 1) * ((2 * n) + 1)) / 6;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM