LeetCode 剑指offer64 、等差数列的应用

声明:尊重他人劳动成果,转载请附带原文链接!学习交流,仅供参考!

题目

求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

注意: 1 <= n <= 10000

示例1:

输入: n = 3
输出: 6

示例2:

输入: n = 9
输出: 45

思路分析

这里可以利用数学中的等差数列的求和公式计算出结果!
公式: Sn=n*(a1+an)/2
判断等于0,因为 1 <= n <= 10000

	class Solution {
    
    
    public int sumNums(int n) {
    
    
         if (n == 0) {
    
    
            return 0;
        }
        return n * (1 + n) / 2;
    }
}

在这里插入图片描述

Guess you like

Origin blog.csdn.net/qq_40805639/article/details/120920323