资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
求1+2+3+…+n的值。
输入格式
输入包括一个整数n。
输出格式
输出一行,包括一个整数,表示1+2+3+…+n的值。
样例输入 样例输出
4
样例输出
10
样例输入
100
样例输出
5050
数据规模与约定
1 <= n <= 1,000,000,000。
思路:可以使用fou循环或者等差数列求和直接完成
注意:题目要求,运算时间为1s,要考虑复杂度,数值范围明显超过int型范围,如果你使用C++或C语言而且准备使用printf输出结果,要使用longlong型,输出格式为%I64d.
# include<stdio.h>
int main()
{
long long n,add;
scanf("%I64d",&n);
add=(1+n)*n/2;
printf("%I64d",add);
return 0;
}
在编写时,部分会出现 : error C2632: ‘long’ followed by ‘long’ is illegal
解决方法:将long long 替换为_int64
# include<stdio.h>
int main()
{
_int64 n,add;
scanf("%I64d",&n);
add=(1+n)*n/2;
printf("%I64d",add);
return 0;
}
注:蓝桥杯上传系统会给_int64报错,所以直接上传longlong型