题目描述
要求不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句 A ? B : C。
思路
1、不能使用for while 循环,咱们可以使用递归啊。
2、递归终止需要进行终止条件判断,但本题中不能使用 if 判断,也不能使用三元表达式。
3、条件与&& 具有短路原则,即第一个条件不成立,第二个条件不会执行。利用这一特性,可以将递归终止条件作为第一个条件,递归语句作为第二个条件。
public int sum(int n) {
int result = 1;
boolean flag = n > 1 && ((result = n + sum(n - 1)) > 0);
return rusult;
}