C语言s=1+2+3+...+n如何实现?

99ANYc3cd6
预计阅读时长 4 分钟
位置: 首页 C语言 正文

方法1:使用循环(for/while)

#include <stdio.h>
int main() {
    int n, sum = 0;
    printf("请输入n的值: ");
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) {
        sum += i;
    }
    printf("1到%d的和为: %d\n", n, sum);
    return 0;
}

方法2:数学公式(高斯求和)

利用公式 *Sum = n(n+1)/2** 直接计算,效率更高:

c语言s 1 2 3 n
(图片来源网络,侵删)
#include <stdio.h>
int main() {
    int n;
    printf("请输入n的值: ");
    scanf("%d", &n);
    int sum = n * (n + 1) / 2;
    printf("1到%d的和为: %d\n", n, sum);
    return 0;
}

方法3:递归实现

#include <stdio.h>
int sumRecursive(int n) {
    if (n == 1) return 1;
    return n + sumRecursive(n - 1);
}
int main() {
    int n;
    printf("请输入n的值: ");
    scanf("%d", &n);
    printf("1到%d的和为: %d\n", n, sumRecursive(n));
    return 0;
}

示例输出

  • 输入 n = 5,输出 1到5的和为: 15(因为 1+2+3+4+5=15)。

关键点说明

  1. 循环方法:直观易懂,适合初学者。
  2. 数学公式:时间复杂度O(1),效率最高。
  3. 递归方法:逻辑简洁,但可能因递归深度过大导致栈溢出(n过大时不推荐)。

根据实际需求选择合适的方法即可!

c语言s 1 2 3 n
(图片来源网络,侵删)
-- 展开阅读全文 --
头像
dede图集注释如何调用?
« 上一篇 前天
织梦软件网站模板下载安全吗?
下一篇 » 前天

相关文章

取消
微信二维码
支付宝二维码

目录[+]