- 定位:蓝桥杯练习系统—入门训练BEGIN-2
- 原题:序列求和
问题描述
求1+2+3+…+n的值。
输入格式
输入包括一个整数n。
输出格式
输出一行,包括一个整数,表示1+2+3+…+n的值。
样例输入
4
样例输出
10
样例输入
100
样例输出
5050
数据规模与约定
1 <= n <= 1,000,000,000
资源限制
时间限制:1.0s 内存限制:256.0MB - 属性:基本语法
- 难度:入门
- 独白:
还是比较简单的,当然如果你直接循环求和那肯定不对,计算的数据量太大,倘若我们用数列的求和公式来解,则可以解决,嗯。。。这里还涉及基本语法中的数据类型。
虽然简单但Python和C/C++中还是有值得提醒的地方的:
首先我们先谈C/C++,主要是数据类型,这里输入输出要长整型才行。
其次在Python中我们输出要加int强制类型转换,不然输出自动默认为浮点型,这里要和C/C++区别开,在C/C++中不会因为一个‘/’号就改变数据类型,该是整型的依旧是整型。
有人会问,为什么Python中就不需要长整型,只需要int就够啦?
那是因为Python3中没有长整型,只有int类型,所以只需要int就行了。 - 代码:
Python:
while True:
try:
n=int(input())
print(int(n*(n+1)/2))
except :
break
C/C++:
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
long long n;
while(scanf("%lld",&n)!=EOF){
printf("%lld\n",n*(n+1)/2);
}
return 0;
}
- 总结:不同语言的数据类型及特点要清晰。
- 感悟:不需要太多的在意别人的眼光,每个人都有自己的太阳。
- 归档:已归档。