求1+2+3...+n 牛客网 剑指Offer

求1+2+3...+n 牛客网 剑指Offer

  • 题目描述
  • 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
class Solution:
   #run:23ms memory:5728k 
    def Sum_Solution(self,n):
        fun = {False: self.sum0, True: self.sumN}
        return fun[not not n](n)

    def sum0(self, n):
        return 0

    def sumN(self, n):
        fun = {False: self.sum0, True: self.sumN}
        return n + fun[not not n](n - 1)

 

posted @ 2018-09-12 16:01  vercont  阅读(101)  评论(0编辑  收藏  举报