【剑指offer】60.求1+2+3+...+n

总目录:

算法之旅导航目录

 

1.问题描述

求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
数据范围: 0<n200
进阶: 空间复杂度 O(1),时间复杂度 O(n)

 

2.问题分析

不能使用乘除法、循环迭代关键字、分支判断关键字

这题没什么好研究的,直接记住这种题型即可

在函数中,如果与运算成立,则继续,否则终止函数直接返回false


3.代码实例

1 class Solution {
2 public:
3     int Sum_Solution(int n) {
4         //通过与运算判断n是否为正数,以结束递归
5         n && (n += Sum_Solution(n - 1)); 
6         return n;
7     }
8 };

 

posted @ 2022-12-02 20:28  啊原来是这样呀  阅读(16)  评论(0编辑  收藏  举报