试题 入门训练 序列求和
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
求1+2+3+…+n的值。
输入格式
输入包括一个整数n。
输出格式
输出一行,包括一个整数,表示1+2+3+…+n的值。
样例输入
4
样例输出
10
样例输入
100
样例输出
5050
数据规模与约定
1 <= n <= 1,000,000,000。
看取值范围,这么大的数如果使用暴力枚举肯定超时,所以这里要使用等差数列公式:
s
u
m
=
(
n
+
1
)
n
2
sum = \frac{(n+1)n}{2}
sum=2(n+1)n
Python 代码
n = int(input())
print(int((n+1)*n/2))
运行结果:
C/C++ 代码
#include<stdio.h>
int main()
{
long long n;
scanf("%d",&n);
printf("%I64d",(n+1)*n/2);
return 0;
}
运行结果: