首页 > 试题广场 >

小乐乐求和

[编程题]小乐乐求和
  • 热度指数:102596 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}小乐乐最近接触了求和符号 \Sigma,他想计算从 1n 的自然数之和,但是小乐乐很笨,请你帮助他解答。


输入描述:
\hspace{15pt}在一行中输入一个正整数 n1 \leqq n \leqq 10^9)。


输出描述:
\hspace{15pt}输出一个整数,表示从 1n 的自然数之和。
示例1

输入

1

输出

1

说明

n=1 时,1=1
示例2

输入

10

输出

55

说明

n=10 时,1+2+\cdots+10=55

备注:
提示,如果你不知道高斯公式:\displaystyle \sum_{i=1}^{n} i = \frac{n(n+1)}{2}

本题已于下方时间节点更新,请注意题解时效性:
1. 2025-06-03 优化题面文本与格式。

#include<stdio.h>

long long sum(int n)
{
    if(n==1)
        return 1;
    else
        return n+sum(n-1);
}

int main()
{
    int n;
    scanf("%d",&n);
    long long s = sum(n);
    printf("%lld\n",s);
    return 0;
}

发表于 2021-08-23 18:20:18 回复(0)
为啥使用int会爆呢?为社么要使用long long
发表于 2025-10-04 13:23:30 回复(1)
n = int(input())
s = (1 + n)*n//2
print(s)
短小有力
发表于 2020-07-23 11:06:29 回复(1)
#include <iostream>
using namespace std;

int main()
{
    long long n;
    cin >> n;
    cout << n * (n + 1) / 2 << endl;
}

发表于 2022-02-26 14:16:04 回复(0)
#include<stdio.h>
long int helper(long int n) {
    if(n == 1) return 1;
    return helper(n - 1) + n;
}
int main() {
    long int n;
    scanf("%ld", &n);
    printf("%ld", helper(n));
}
递归
发表于 2020-12-06 20:16:43 回复(1)
#include<stdio.h>
int main() {
    long int n, i,sum=0;//不能用int,位数不够!
    scanf("%ld", &n);
    for (i = n; i >= 1; i--) {
        sum+=i;
    }
    printf("%ld\n",sum);
}
发表于 2022-07-20 13:34:10 回复(0)

                            JavaScript

var a = readline();
a = parseInt(a);
console.log((a*a+a)/2);


发表于 2020-06-23 09:10:44 回复(0)
# 等差数列求和公式 Sn=n(a1+an)/2

n = int(input())
print(int(n*(1+n)/2))

发表于 2024-09-28 13:21:03 回复(0)
#include<bits/stdc++.h>
using namespace std;
int main(){
    long long n;
    cin>>n;
    cout<<n*(n+1)/2;
    return 0;
}

发表于 2022-02-10 07:12:35 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String args[]){
        Scanner scan=new Scanner(System.in);
        long a=scan.nextLong();
        System.out.println((1+a)*a/2);
    }
}
两句代码搞定
发表于 2021-01-05 17:50:23 回复(0)
#include <iostream>
#include <utility>
using namespace std;
int main(){
    long long sum = 0;
    int n;
    cin >> n;
    for(int i = 0; i <= n; ++i){
        sum += i;
    }
    cout << sum << endl;
    return 0;
}

发表于 2025-12-08 01:59:04 回复(0)
n=int(input())
print(n*(n+1)//2)

发表于 2025-10-27 11:18:52 回复(0)
#include <iostream>
using namespace std;

int main() {
    long int n;
    cin >> n;
    cout << (n*(n+1)) / 2;
}

发表于 2025-07-14 11:27:04 回复(0)
#include <stdio.h>

int main() {
    int n=0;
    long long sum=0;
    scanf("%d",&n);
    for(int i=0;i<=n;i++){
        sum+=i;
    }
    printf("%lld",sum);
    return 0;
}

编辑于 2024-02-03 17:18:57 回复(0)
#include<stdio.h>
int main()
{
    int n = 0;
    int m = 1;
    long long z = 0;
    scanf("%ld", &n);
    while (m <= n)
    {
        z += m;
        m++;
    }
    printf("%lld", z);
    return 0;
}
发表于 2022-10-29 10:01:02 回复(0)
高位截断
发表于 2022-08-15 14:07:24 回复(0)
# 超时
# n = int(input())
# s = 0
# for i in range(1,n+1):
    # s += i
# print(s)

n = int(input())
sum = 0.5*(n*(n+1))
print(int(sum))
发表于 2025-12-16 18:27:48 回复(0)
这个要用long long, 不是int,搭配%lld
发表于 2025-12-16 17:57:25 回复(0)
#占用内存太大
n = int(input())
x = 0
for i in range(0,n+1):
    x+=i
print(x)
直接用公式
n = int(input())
x = 0
x = (n*(n+1))/2
print("%1.0f"%x)

发表于 2025-12-08 11:21:31 回复(0)
int main() {
    long long n;
    cin >> n;
    cout << n * (n + 1) / 2;
}
发表于 2025-12-06 10:54:54 回复(0)