用C#写一个程序,计算s=1+(1+2)+(1+2+3)+...(1+2+3+4+....+n)。

这个怎么写啊,大家帮帮忙!感谢~
谢谢大家,刚看了大家的提示自己写出来了。感谢~

int s = 0, m = 0;
for (int i = 1; i <= n; i++)
{
s += i;
m += s;
}
return m;
}

static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
Console.WriteLine(f(n));
Console.ReadLine();

您好,这个程序可以从多层循环改成如下方法
long
GetS(int
n)
{
long
result
=
0;
for(int
i
=
1;
i<=n;
i++)
{
result+=(1+i)*i/2;
}
}
即可,有时使用数学公式反倒使程序更简单
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-09-27
思路:先定义一个函数fun(n)用来计算1到n的和,接着for循环计算1到n的fun(n)和就是s的值。
参考代码:
#include
int fun(int n){
int sum=0,i;
for(i=1;i<=n;i++)
sum+=i;
return sum;
}
int main()
{
int n,sum=0,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum+=fun(i);
printf("s=%d\n",sum);
return 0;
}
/*
3
s=10
*/
第2个回答  2009-11-14
您好,这个程序可以从多层循环改成如下方法
long GetS(int n)
{
long result = 0;
for(int i = 1; i<=n; i++)
{
result+=(1+i)*i/2;
}
}
即可,有时使用数学公式反倒使程序更简单
第3个回答  2009-11-14
是用循环
int i=0;
n是从控制台读取的
for(int j=0;j<n;j++)
{
i+=j;
}
return j;
不懂问我!!!本回答被网友采纳
第4个回答  2009-11-14
int s=0;
for(int i=1;i<=n;i++)
{
int s1=0;
for(int j=1;j<=i;j++)
{
s1+=j;
}
s+=s1;
}
相似回答