题目描述
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
解题思路
- 方法一:使用
return
和and
来保证递归到0截止; - 方法二:使用
try
,except
和assert
语句来保证递归到0截止; - 方法三:直接使用公式,乘法改为幂,除2改为右移1位。
代码
Python(2.7.3)
方法一
1 | # -*- coding:utf-8 -*- |
运行时间:28ms
占用内存:5752k
方法二
1 | # -*- coding:utf-8 -*- |
运行时间:30ms
占用内存:5712k
方法三
1 | # -*- coding:utf-8 -*- |
运行时间:23ms
占用内存:5832k