面试题64:1-2+3+...+n

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

思路:
利用与运算符的短路效应来完成递归操作
a and b的结果在a为假时直接返回a,否则返回b,示例如下:

print("a为真时,1 and 2的结果:", 1 and 2)
print("a为假时,0 and 2的结果为:",0 and 2)

print("a为真时,1 or 2的结果:", 1 or 2)
print("a为假时,0 or 2的结果:", 0 or 2)

代码实现:

class Solution:
    def Sum_Solution(self, n):
        # write code here
        return n and n + self.Sum_Solution(n-1)

提交结果:

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容