题解 | #等差数列#
等差数列
https://www.nowcoder.com/practice/f792cb014ed0474fb8f53389e7d9c07f
题目
描述
等差数列 2,5,8,11,14。。。。
(从 2 开始的 3 为公差的等差数列)
输出求等差数列前n项和
数据范围: 1 \le n \le 1000 \1≤n≤1000
输入描述:
输入一个正整数n。
输出描述:
输出一个相加后的整数。
示例1
输入:2 输出:7 说明:2+5=7
示例2
输入:275 输出:113575 说明:2+5+...+821+824=113575
思路
公式法:设 项数为 n,和为 sum。
公式:sum = n[首项] + n(n-1)*[公差]/2
答案
public static void main(String[] args) throws IOException {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader bufferedReader = new BufferedReader(isr);
// 我习惯用 Scanner 从控制台读数据
Scanner scanner = new Scanner(bufferedReader);
int n = scanner.nextInt();
// 首项:2,公差:3
// 令 项数为 n
// 公式:sum = n*[首项] + n*(n-1)*[公差]/2
int sum = 2 * n + n * 3 * (n - 1) / 2;
System.out.println(sum);
scanner.close();
bufferedReader.close();
isr.close();
}
#华为OD机考#
查看1道真题和解析