1. 题目

求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

示例 1:
输入: n = 3
输出: 6示例 2:
输入: n = 9
输出: 45限制:
1 <= n <= 10000

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/qiu-12n-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 不能乘除,不能用公式
  • 不能循环(for、while
  • 递归,终止不能用if
class Solution {public:int sumNums(int n) {if(n==0)return 0;return n+sumNums(n-1);}
};

把上面终止条件改一下:

n && (n = n+sumNums(n-1));//当n为0时,后面短路了,不会继续递归
class Solution {public:int sumNums(int n) {n && (n += sumNums(n-1));return n;}
};

剑指Offer - 面试题64. 求1+2+…+n(递归)相关推荐

  1. 剑指offer 面试题64. 求1+2+…+n

    求 1+2+...+n ,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 示例 1: 输入: n = 3 输出: 6 示例 2: ...

  2. 剑指offer面试题64. 求1+2+…+n(逻辑符短路)(递归)

    题目描述 求 1+2+-+n ,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 思路 详见链接 代码 class Solution ...

  3. 剑指offer面试题[64]-数据流中的中位数

    题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值. 分 ...

  4. 剑指offer——面试题64:数据流中的中位数

    剑指offer--面试题64:数据流中的中位数 Solution1: 最笨的方法了... class Solution { public:void Insert(int num) {num_strea ...

  5. 剑指offer面试题之求第n个丑数

    1,问题: 把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 2,想法 ...

  6. [Leedcode][第十题][剑指offer]面试题第[19]题[正则表达式][动态规划][递归][JAVA]

    [问题描述][困难] 请实现一个函数用来匹配包含'. '和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(含0次).在本题中,匹配是指字符串的所有字符匹 ...

  7. 剑指Offer - 面试题24. 反转链表(遍历/递归)

    1. 题目 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4-&g ...

  8. 剑指offer——面试题46:求1+2+...+n

    剑指offer--面试题46:求1+2+-+n 题目描述 求1+2+3+-+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 个 ...

  9. 剑指offer——面试题9:求斐波那切数列的四种方法

    剑指offer--面试题9:求斐波那切数列的四种方法 另一个相关的链接:https://blog.csdn.net/Allenlzcoder/article/details/80297333 总结下求 ...

最新文章

  1. swoole实现数据库连接池
  2. 一个由进程内存布局异常引起的问题
  3. CentOS6 安装 MySQL 并配置
  4. 爱是谋杀:读徐小斌的《别人》
  5. 宝塔反代默认缓存了html吗,宝塔面板安装 OneList 设置反代
  6. bzoj 3156: 防御准备
  7. 【实践】微博多尺度序列推荐算法实践.pdf(附下载链接)
  8. SAX与DOM之间的区别 转帖
  9. Java中的ConcurrentModificationException
  10. 助你成为专业终端人,阿里巴巴第三届终端练习生计划开启报名!
  11. 咪咕音乐播放器 ubuntu 安装详解
  12. 微软所有正版软件下载网站ITELLYOU
  13. 压缩包文件密码忘记了文件怎么办?
  14. 股票、期货、数字货币技术指标库TA-Lib
  15. 如何做好一个产品经理
  16. 网页中的动漫人物互动——看板娘
  17. macOS 安装lrzsz
  18. 对高尔顿数据集实现线性回归分析
  19. 多云时代,IBM云计算有什么不同?
  20. java 摄像头 视频_javaCV-摄像头实时视频

热门文章

  1. mysql接口可以重载吗_php 到底可不可以重载
  2. 驱动框架2——内核驱动框架中LED的基本情况、初步分析
  3. fck java_FCkjava三种调用方法
  4. 使用docker部署mysql主从复制集群
  5. iOS 测试三方 KIF 的那些事
  6. 炒房客共识:深圳楼市要撑不住了
  7. “函数调用的左操作数”的理解
  8. var与dynamic区别
  9. HTTP和HTTPS详解
  10. Activity的缓存方法