题目描述:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
方法:短路定理
class Solution{ public int Sum_Solution(int n){ int sum=n; boolean flag = (sum>0)&&((sum+=Sum_Solution(--n))>0); return sum; } } //java不能自动转布尔型 //不能这样写 sum&&(sum+=Sum_Solution(--n)) //这样boolean flag=(sum>0)&&((sum+=Sum_Solution(--n))>0)
用另外一种方式实现递归