1+1+2+1+2+3+到1+2+3+到+n

在本题代码中,为什么内循环是j<=i呢?这个代码是什么意思?

img

  • 求 1 + (1+2) + (1+2+3) + ... + (1+2+3+...+n)
  • 首先先拆成n个小问题, 这里就是对应外循环 ,i 从 1 ~n 遍历
  • 然后每个小问题,就是 内循环, 求 1+2+...+i ,所以内循环要判断 j <=i

因为在外循环的i次循环中,第i次循环的内循环要执行i次,也就是要把1到i的所有正整数加起来,因此内循环的范围应该是1到i,所以内循环要判断 j <= i 。

供参考:

#include <stdio.h>
int main()
{
    int i,n,t=0,sum=0;
    scanf("%d", &n);
    for (i = 1; i <= n; i++){
        t += i;
        sum += t;
    }
    printf("%d", sum);
    return 0;
}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^