<剑指Offer>面试题64: 求 1+2+...+n
作者:
cb_guo | 来源:发表于
2019-02-26 21:15 被阅读0次
题目描述
- 求 1+2+...+n,要求不能使用乘除法、for、while、if、else、switch、case、等关键字及条件判断语句 (A ? B : C)
题目解读
- 剑指Offer 307
- 1、需利用逻辑与的短路特性实现递归终止
- 2、当 result == 0时,
result && (result += Sum_Solution(n-1));
只执行前面的判断,为 false,直接返回 0
- 3、当 result != 0时,
result && (result += Sum_Solution(n-1));
通过前面的判断,为 true,则执行 (result += Sum_Solution(n-1))
进入递归函数计算
代码
class Solution {
public:
int Sum_Solution(int n) {
int result = n;
result && (result += Sum_Solution(n-1));
return result;
}
};
总结展望
本文标题:<剑指Offer>面试题64: 求 1+2+...+n
本文链接:https://www.haomeiwen.com/subject/zykayqtx.html
网友评论