我试图找到数字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();
但我不明白为什么&#34; iSquared + = squareSum&#34;没有工作,我使用代码中断,并看到squareSum将保持为0.
我也试过
for (int i = 1; i <= 100; i++)
{
i*i+=squareSum;
}
但它不允许使用&#34; i&#34;在同一个声明中两次,有没有办法以这种方式写它?
为什么squareSum在第一个声明中仍为0?
提前致谢。
答案 0 :(得分:6)
答案 1 :(得分:0)
var squareSum = Enumerable.Range(1, 100).Sum(x => x * x);
Console.WriteLine(squareSum);
当然,您需要确保在文件顶部显示此内容:
using System.Linq;
答案 2 :(得分:0)
如果你想要第一个&#39; N&#39;的平方和。连续的自然数,你不需要Linq或for循环:
您只需要公式:[n * (n + 1) * (2n + 1)] / 6
在你的情况下N = 100,所以如果你用C#编写代码,那么:
int n = 100;
double result = (n * (n + 1) * ((2 * n) + 1)) / 6;