题解 | #等差数列#

等差数列

https://www.nowcoder.com/practice/f792cb014ed0474fb8f53389e7d9c07f

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        //等差数列数字个数为n
        //2 ,2+5 ;
        //3 ,2+5+8 ; 2+ (n-1)*3=6
        //4, 2+5+8+11
        //5,2+5+8+11+14
        //7,2+5+8+11+14+17+20
        //(n-1)*3=6
        //经观察,规律:
        //n为偶数【等差数列两端数字加和:m=n*3+1,等差数列数据加和=n/2 *m】
        //n为奇数,求和:(2+(n-1)/2*3)*n
        Long l = 0l;
        if (a % 2 == 0) {
            l = (3 * a + 1) * a / 2l;
        } else {
            l = (2 + 3 * (a - 1) / 2l) * a;
        }
        System.out.print(l);
    }
}

全部评论

相关推荐

04-06 11:24
已编辑
太原学院 C++
点赞 评论 收藏
分享
愤怒的潜伏者在开会:你不攻击他,我可攻击你了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务