华为OD机试真题 Java 实现【等差数列】【2023 B卷 100分】,附详细解题思路-LMLPHP

专栏导读

本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,订阅后,专栏内的文章都可看,可加入华为OD刷题群(私信即可),发现新题目,随时更新,全天CSDN在线答疑。

  • 专栏福利:限时订阅49.9,订阅后可加入华为OD刷题群,获得哪吒优先答疑机会(华为OD刷题指导,远程代码调试),群里大佬众多可以抱团取暖,群友刷题经验分享,考试经验分享。

华为OD机试真题 Java 实现【等差数列】【2023 B卷 100分】,附详细解题思路-LMLPHP

一、题目描述

等差数列 2,5,8,11,14。。。。

从 2 开始的 3 为公差的等差数列。

输出求等差数列前n项和。

数据范围: 1≤n≤1000 。

二、输入描述

输入一个正整数n。

三、输出描述

输出一个相加后的整数。

四、解题思路

  1. 输入一个正整数n,表示要求等差数列前n项和;
  2. 计算等差数列的首项first,根据题目中的公差3和项数n可以得到:first = 2;
  3. 计算等差数列的末项last,根据题目中的公差3和项数n可以得到:last = 3 * n - 1;
  4. 使用等差数列求和公式计算前n项和,公式为:sum = (first + last) * n / 2;
  5. 输出sum作为结果。

五、Java算法源码

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
        int length = sc.nextInt();
        int first = 2, last = 3 * length - 1;
        System.out.println((first + last) * length / 2);
    }
    sc.close();
}

六、效果展示

华为OD机试真题 Java 实现【等差数列】【2023 B卷 100分】,附详细解题思路-LMLPHP


🏆下一篇:华为OD机试真题 Java 实现【跳房子II】【2023 B卷 100分】,附详细解题思路

🏆本文收录于,华为OD机试(JAVA)(2022&2023)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,订阅后,专栏内的文章都可看,可加入华为OD刷题群(私信即可),发现新题目,随时更新,全天CSDN在线答疑。

华为OD机试真题 Java 实现【等差数列】【2023 B卷 100分】,附详细解题思路-LMLPHP

07-18 16:06