[剑指offer]---46 求1+2+3+…+n
程序员文章站
2022-07-10 12:20:02
...
-
温馨 小提示:如果代码看不懂,不妨拿出纸和笔,找几个例子,多走几遍程序,
再搜索一下相关的博客,慢慢的就加深理解了。
题目:
求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://www.weiweiblog.cn/sum_solution/
https://blog.csdn.net/fuxuemingzhu/article/details/79703258
上一篇: Python学习总结(七)模块与包
下一篇: 剑指offer46. 把数字翻译成字符串
推荐阅读
-
【剑指 Offer 53 - II】0~n-1中缺失的数字
-
剑指offer书(53)-2:0-n-1中缺失的数字
-
剑指OFFER----53-2、0~n-1中缺失的数字(js实现)
-
剑指 Offer 53 - II. 0~n-1中缺失的数字
-
剑指offer 53 - II. 0~n-1中缺失的数字
-
剑指 Offer 53 - II. 0~n-1中缺失的数字
-
剑指offer31:整数中1出现的次数(从1到n整数中1出现的次数)
-
剑指offer33:求按从小到大的顺序的第N个丑数。
-
【LeeCode 中等 数学 python3】剑指 Offer 43. 1~n整数中1出现的次数
-
剑指offer 求1+2+3+...+n Java