求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
一下子还真没想出来,看来解答说用递归和&&的短路特点,一下子就明白了
代码超级简单
public int Sum_Solution(int n) {
boolean value = ((n > 1) && (n += Sum_Solution(n - 1))>0) ;
return n;
}
本文介绍了一种不使用传统循环和条件判断语句求1到n的和的方法。利用递归与逻辑运算符的特性实现了简洁的代码实现。
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
一下子还真没想出来,看来解答说用递归和&&的短路特点,一下子就明白了
代码超级简单
public int Sum_Solution(int n) {
boolean value = ((n > 1) && (n += Sum_Solution(n - 1))>0) ;
return n;
}

被折叠的 条评论
为什么被折叠?