1.牛客网刷题 ——C语言初阶
牛客网:BC112小乐乐求和
小乐乐最近接触了求和符号Σ,他想计算的结果。但是小乐乐很笨,请你帮助他解答。
输入描述:
输入一个正整数n (1 ≤ n ≤ 109)
输出描述:
输出一个值,为求和结果。
示例1
输入
1
输出
1
示例2
输入
10
输出
55
2.分析
一开始没明白啥意思,后来才明白是求1…n这n个数字求和。直接用我们的求和公式((n+1)*n)/2计算即可。
这里我在写的时候,一开始定义的是int型,后面发现他验证的时候有一个输入是100000。就非常大,我计算出来的值就小于这个的正确值,我就意识到我应该是给设置的太小了。然后后面改成了 long,然后在打印的时候,打印格式需要配套改成%ld才可以。
3.代码
#include <stdio.h>
int main() {
long a;
long sum = 0;
while (scanf("%ld ", &a) != EOF) {
if(a == 1)
{
sum = 1;
}else {
sum = (a*(a+1) )/2;
}
}
printf("%ld\n",sum);
return 0;
}