64 求1+2+...+n

题目

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

C++ 题解

这里使用了运算符&&的短路特性。

int Sum_Solution5(int n)
{
	int sum = n;
	bool flag = (n > 0) && ((sum += Sum_Solution5(n - 1)) > 0);//第一个条件(n > 0)相当于终止条件
	return sum;
}

python 题解

# -*- coding:utf-8 -*-
class Solution:
    def Sum_Solution(self, n):
        # write code here     
        return n and n + self.Sum_Solution(n-1)
posted @ 2019-03-17 21:52  youngliu91  阅读(96)  评论(0编辑  收藏  举报