试题 入门训练 序列求和
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
求1+2+3+…+n的值。
输入格式
输入包括一个整数n。
输出格式
输出一行,包括一个整数,表示1+2+3+…+n的值。
样例输入
4
样例输出
10
样例输入
100
样例输出
5050
数据规模与约定
1 <= n <= 1,000,000,000。
看取值范围,这么大的数如果使用暴力枚举肯定超时,所以这里要使用等差数列公式:
sum=(n+1)n2
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;
}
运行结果:

本文介绍了一种快速计算等差数列1+2+3+...+n之和的方法,通过数学公式而非暴力枚举实现高效计算,适用于n值较大情况。提供Python及C/C++代码实现。
8707

被折叠的 条评论
为什么被折叠?



