#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int i,j;//使用嵌套循环
int total=0;
//外层循环:控制每个括号
for (i=1;i<=n;i++) {
int sum=0;
//内层循环
for (j=1;j<=i;j++) {
sum+=j;
}
total+=sum;
}
printf("%d",total);
return 0;
}
方法 1:使用嵌套循环
外层循环控制要计算到第几个括号,内层循环计算每个括号内的和并累加:
方法 2:使用数学公式优化(上网查的公式)
1 + (1+2) + (1+2+3) + ... + (1+2+...+n)=n*(n+1)*(n+2)/6
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
// 应用公式:n*(n+1)*(n+2)/6
int total = n * (n + 1) * (n + 2) / 6;
printf("%d\n", total);
return 0;
}

京公网安备 11010502036488号