《剑指 Offer (第 2 版)》第 64 题:求 1 + 2 + 3 + ... + n

第 64 题:求 1 + 2 + 3 + ... + n

传送门:AcWing:求 1 + 2 + 3 + ... + n,牛客网 online judge 地址。

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

样例:

输入:10

输出:55

Java 代码:

《剑指 Offer (第 2 版)》第 64 题:求 1 + 2 + 3 + ... + n(1)
《剑指 Offer (第 2 版)》第 64 题:求 1 + 2 + 3 + ... + n(2)

分析:等差数列求和的通项公式如下:

将上面的公式中的运算换成只用加法、乘方运算、位运算。

Python 代码:

class Solution(object):
    def getSum(self, n):
        """
        :type n: int
        :rtype: int
        """

        return (n ** 2 + n) >> 1

你可能感兴趣的:(《剑指 Offer (第 2 版)》第 64 题:求 1 + 2 + 3 + ... + n)