欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

华为机试 100.等差数列

程序员文章站 2022-04-04 11:20:04
...

1. 题目

100.等差数列

2. 描述

功能:等差数列 2,5,8,11,14。。。。

输入:正整数 N>0N >0

输出:求等差数列前 N 项和

返回:转换成功返回 0 ,非法输入与异常返回 -1

本题为多组输入,请使用 while(cin>>)while(cin>>) 等形式读取数据

输入描述:

输入一个正整数。

输出描述:

输出一个相加后的整数。

示例1

输入

2

输出

7

3. 实现方法

3.1 方法 1

3.1.1 思路

利用等差数列求和公式:

Sum=a1n+n(n1)d/2Sum = a1 * n + n * (n-1)*d/2

3.1.2 实现

import java.util.Scanner;

/**
 * @author : cunyu
 * @version : 1.0
 * @className : OneZeroZero
 * @date : 2020/8/8 18:58
 * @description : 100.等差数列
 */

public class OneZeroZero {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int N = 0;
        while (in.hasNext()) {
            N = in.nextInt();
            System.out.println(sumOfArray(N));
        }
    }

    /**
     * @param N 前 N 项
     * @return 前 N 项和
     * @description 等差数列前 N 项和
     * @date 2020/8/8 22:04
     * @author cunyu1943
     * @version 1.0
     */
    public static int sumOfArray(int N) {
        int start = 2;
        int distance = 3;
        // 等差数列求和公式
        return N * start + N * (N - 1) * distance / 2;
    }
}

华为机试 100.等差数列

相关标签: 华为机试 Java