题目描述:
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
思路:
- 递归调用:不断的和前一个数相加,直到 n n n减为1
- list法:首先生成包含 0 ∼ n 0 \sim n 0∼n的list,然后使用sum()求和即可
AC代码
递归调用
# -*- coding:utf-8 -*-
class Solution:
def Sum_Solution(self, n):
if n == 1:
return 1
return n + self.Sum_Solution(n-1)
list法
# -*- coding:utf-8 -*-
class Solution:
def Sum_Solution(self, n):
numbers = [ _ for _ in range(n + 1)]
return sum(numbers)