49.求1+2+3+.......+n
题目描述:
求1+2+3+...+n的值,要求不能使用乘除法,还有,if,while,for等关键字。
思路分析:
使用递归的解法,但是递归的终止条件需要使用if关键字不符合要求,所以我们利用逻辑与的中断机制,来描述递归终止条件。
当n==0时,n>0不满足所以不会执行后面的递归操作。
当n>0时,我们就会执行后面的递归操作。
代码:
public class Test{
public int sum(int n){
int res=n;
boolean flag=(n>0)&&((res=res+sum(n-1))>0);
return res;
}
}