【剑指offer】求1+2+3+...+n
题目链接:求1+2+3+...+n
题意:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
题解:首先不能用乘除法,就不能用公式。不能用条件判断,我们就要想到递归。
但是递归的终止条件怎么办呢。。逻辑与&&即可判断是否递归到0了。
代码:
1 class Solution { 2 public: 3 int Sum_Solution(int n) { 4 int sum = n; 5 sum && (sum += Sum_Solution(sum-1)); 6 7 return sum; 8 } 9 };