1. 程式人生 > >劍指offer第64:求1+2+3+...+n

劍指offer第64:求1+2+3+...+n

題目描述

求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。

# -*- coding:utf-8 -*-
class Solution:
    def Sum_Solution(self, n):
        # write code here
        return n and self.Sum_Solution(n-1)+n
        #return sum(list(range(1,n+1)))

利用短路求值原理,A and B ,A為真繼續計算B,A為假不再計算B。
以及利用python的sum()和range()。