算法刷题-等差数列-JAVA

0x00 引言

为获取一个良好的算法思维,以及不再成为一个脚本小子,争取每天一道算法题,培养自己的逻辑思维,温顾各类型语言语法知识。

题解只写自己理解的解法,其他解法不再增加。题目与解析均在代码里面。

0x01 难度等级

简单

0x02 代码

package 简单;

import java.util.Scanner;
/*
*
描述
等差数列 2,5,8,11,14。。。。
(从 2 开始的 3 为公差的等差数列)
输出求等差数列前n项和

数据范围:
1
≤
�
≤
1000

1≤n≤1000
输入描述:
输入一个正整数n。

输出描述:
输出一个相加后的整数。
示例1
输入:
2

输出:
7

说明:
2+5=7

*主要是公差为3的等差数列的通项求和公式:
* //        int a1 = 2;
//        int an = a1 + (n - 1) * 3;
//        int sn = n * (a1 + an) / 2;
*
*
* */
public class 等差数列 {
    public static void main(String[] args) {
        int sum = 0;
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
//        int a1 = 2;
//        int an = a1 + (n - 1) * 3;
//        int sn = n * (a1 + an) / 2;
//        System.out.println(sn);

        for (int i = 2; i<=(2+(n-1)*3) ; i=i+3) {
            sum+=i;
        }
        System.out.println(sum);
    }
}

0x03 算法思想

(1)考查等差数列的通项公式的使用,先求出an,然后再每次加3的累加即可。

0x04 运行结果

posted @ 2023-02-28 22:24  铺哩  阅读(77)  评论(0编辑  收藏  举报