求1+2+3+...+n
描述
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
说实话,这种问题在实际开发中估计是不可能遇到的...
逻辑很简单,循环累加,但不使用流程控制语句怎么结束是关键。
这里使用短路求值思路,通过 &&
短路控制。
实现:
public int Sum_Solution(int n) {
int ans = n;
boolean flag = (ans>0) && ((ans += Sum_Solution(n - 1)))>0;
return ans;
}