wuwuwu,会不了一点

求dalao救救孩子

3. 累加

题目ID:20050必做题100分

时间限制: 1000ms

空间限制: 524288kB

题目描述

输入整数N,输出从1到N整数的累加和

输入格式

输入一个int类型整数N

输出格式

输出从1到N的整数的累加和

样例

Input 1

5

Output 1

15

Input 2

10

Output 2

55

数据范围

N是一个正整数

1 个赞

这道题显然需要高斯求和公式 : 1 + 2 + … + n = (1 + n) * n / 2,所以只要输入n,输出上式即可

对于高斯求和公式推导如下:
设 S = 1 + 2 + … + n
则 1 + 2 + … + n
+ n + (n - 1) + … + 1 = (1 + n) * n,这个数显然为2S,故S = (1 + n) * n / 2

不对啊,还是0分

实在不行你for循环一下

for(int i = 1;i <= n;i ++){
	__________;//填空
}

或者

cout << (1+n)*n/2;

如果数据范围大开个 long long

先定义两个数,一个用来记录高斯求和公式,一个用来存储
然后输出存储的数
核心代码

long long ans,cnt;
cin>>ans;
cnt=(1+n)*n/2;
cout<<cnt;
return 0;

你这代码不对啊, n 都没定义,应该为 ans

long long ans,cnt;
cin>>ans;
cnt=(1+ans)*ans/2;
cout<<cnt;
return 0;