求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
既然不能用循环,就选择递归。递归的终止条件利用&&的短路特性
代码如下
public class Solution {
public int Sum_Solution(int n) {
//1996可以是任意数,只要使得右边也是逻辑变量True or False 即可
boolean b = (n>0) && ( n = n+Sum_Solution(n-1) ) == 1996;
return n;
}
}