简单序列求和
问题描述:
求下列序列的和:
1 + (1 + 2) + (1 + 2 + 3) + … + (1 + 2 + 3 + … + n)
比如当n输入为3的时候,则和为1 + 3 + 6 = 10
参考代码1:
#include <stdio.h>
int main()
{
int n;
printf("输入求和的最大项数: ");
scanf_s("%d", &n);
int i, j, sum = 0;;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= i; j++)
{
sum += j;
}
}
printf("sum=%d\n", sum);
return 0;
}
参考代码2:
#include <stdio.h>
int main()
{
int n;
printf("输入求和的最大项数: ");
scanf_s("%d", &n);
int i, j, sum = 0;;
for (i = 1; i <= n; i++)
{
sum += (1 + i) * i / 2;//后面的求从1-i的和用求和公式
}
printf("sum=%d\n", sum);
return 0;
}
运行结果:
还没有评论,来说两句吧...