求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
累加不能用循环的话,那就试试递归吧。
判断递归的终止条件不能用 if 和 switch,那就用短路与代替。
(n > 0) && (sum += Sum_Solution(n-1))>0
只有满足n > 0的条件,&&
后面的表达式才会执行。
public class Solution {
public int Sum_Solution(int n) {
int sum = n;
boolean t = (n > 0) && (sum += Sum_Solution(n-1))>0;
return sum;
}
}
版权属于: 尾尾部落
原文地址: https://weiweiblog.cn/sum_solution/
转载时必须以链接形式注明原始出处及本声明。
window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"1","bdSize":"24"},"share":{}};with(document)0[(getElementsByTagName('head')0||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];