c#程序求1-10每个数字的阶乘的和1!+2!+...+10!

using System;
class multisum
{
static void Main()
{
long s = 0, m = 1;
for (int i = 1; i <= 10; i++)
{
for (int j = 1; j <= i; j++)

m *= j;
s = s + m;
m = 1;//这里为啥要让M=1啊?那每次循环到m*=j这里的时候m都等1比如j循环到8时,那m的值就=1*8,这样的话就不是9的阶乘啊?

}
Console.WriteLine("1!+2!+...+10!={0}", s);

Console.Read();
}

}
我知道FOR循环那有括号,当循环为4的时候M乘4次J?我们平时m*=4就代表m=4m啊。还有后面那个m=1会影响到m*=j里m的值吗?

因为你没明白for循环
加上括号可能你就明摆了

static void Main()
{
long s = 0, m = 1;
for (int i = 1; i <= 10; i++)
{
for (int j = 1; j <= i; j++)
{-----------------------------------
m *= j;//这里是自乘也就是m=m*j
//当循环为4时m乘4次j,j分别是1234
//也就是1*2*3*4 4的阶乘

}----------------------------------注意括号的省略
s = s + m;
m = 1;//这里为了初始化

}
Console.WriteLine("1!+2!+...+10!={0}", s);

Console.Read();
}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-09-18
int sum = 0;
for (int x=1;x<=10;x++)
{
int s =1;
for (int y =1;y<=x;y++)
{
s *=y;
}
sum += s;
}
TextBox1.Text =sum.ToString();
第2个回答  2009-12-04
一楼正解
相似回答