gpt4 book ai didi

c - 编写程序执行 sum = 1+ (1+2) + (1+2+3) + ... + (1+2...+n)

转载 作者:太空宇宙 更新时间:2023-11-04 05:01:10 24 4
gpt4 key购买 nike

我无法正确获取代码。有人可以帮忙吗?

#include<stdio.h>
int main()
{
int n, sum,i,j;

printf("Please enter an integer, n = ");
scanf("%d", &n);

for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
sum = sum + n;
printf("sum = %d", sum);


return 0;
}

最佳答案

  1. 您没有初始化sum。用 0 初始化它。
  2. 您不应该在每一步添加 n,而是添加 j

当然,这是为了修复您当前的代码。有其他人已经提到的更好的方法来解决这个问题。

编辑:

只是为了好玩,这里有一个公式可以让您解决 O(1) 中的问题:

您的总和等于 n*(n + 1)*(2*n + 1)/12 + n*(n + 1)/4

这是通过将其写成总和并利用第一个 n 连续方 block 的总和为 n(n + 1)(2n + 1)/6 并且前 n 个正整数的总和是 n(n + 1)/2。如果你能找到更好的公式形式,+1。

关于c - 编写程序执行 sum = 1+ (1+2) + (1+2+3) + ... + (1+2...+n),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3249611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com