蓝桥杯练习系统之入门训练Java版(1-2)——序列求和问题
**难度等级:易**
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述:
求1+2+3+…+n的值。
输入格式:
输入包括一个整数n。
输出格式:
输出一行,包括一个整数,表示1+2+3+…+n的值。
样例输入:
4
样例输出:
10
样例输入:
100
样例输出:
5050
数据规模与约定
1 <= n <= 1,000,000,000。
这道题笔者有两种解法:
一种是利用for循环(因为n的范围太大,所以此方法效率不高),比赛中可能会出现0分,所以不讲啦。
第二种运用到小学的知识,利用高斯定理(推荐):
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
long i = Integer.parseInt(br.readLine());
long sum = ((i+1)*i)/2;
System.out.println(sum);
}
}
希望能对您有帮助!谢谢