题目详情 

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

示例 1:
输入:
n = 3
输出: 6

示例 2:
输入:
n = 9
输出: 45

限制:

  • 1 <= n <= 10000

——题目难度:中等


这道题如果使用递归法的话,其实就是最后一步当n=1或n=0的时候会有问题,因为不能使用条件判断语句,所以我们得 想方设法来解决n=1或n=0时返回1或0。

这时候就可以充分利用&&(逻辑与)的性质。
表达式1&&表达式2 
1.当表达式1为假时,表达式2不会被执行,返回的就是false
2.当表达式1为真时,表达式2会被执行,返回的就是表达式2的bool值(真或假)

这样就可以使用&&的这个性质对n=0的情况做出正确的处理。

-下面代码

class Solution {
public:int sumNums(int n) {n && (n += sumNums(n-1));return n;}
};

结果

面试题64. 求1+2+…+n(C++)相关推荐

  1. 面试题64. 求1+2+…+n

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

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

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

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

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

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

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

  5. C++ leetcode 面试题64. 求1+2+…+n

    一.C++ int sumNums(int n) {int sum=0;for(int i=1;i<=n;i++)sum+=i;return sum;}

  6. LeetCode 剑指Offer 64.求1,2到n的和, 不使用循环/判断及乘除

    题目 剑指 Offer 64. 求1+2+-+n 求 1+2+-+n ,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 示例 1: ...

  7. 【LeetCode】剑指 Offer 64. 求1+2+…+n

    [LeetCode]剑指 Offer 64. 求1+2+-+n 文章目录 [LeetCode]剑指 Offer 64. 求1+2+-+n package offer;public class Solu ...

  8. PTA基础编程题目集6-4求自定类型元素的平均 (函数题)

    6-4 求自定类型元素的平均 (10 分) 本题要求实现一个函数,求N个集合元素S[]的平均值,其中集合元素的类型为自定义的ElementType. 函数接口定义: ElementType Avera ...

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

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

最新文章

  1. visual webgui theme designer
  2. 在leangoo中如何做好需求管理(研发效能)
  3. 图解C# Console 输出和Console相关编程复习总结
  4. 扩展 lua require 的行为
  5. js页面上的excel导出
  6. 检测文件是否有BOM 头,并删除BOM头(php)
  7. 计算机过程控制系统李向舜pdf,2010-2011学年一学期(16-19周)考试安排表(1)
  8. ascll编码表图片_ASCII编码表
  9. django jwt token 令牌
  10. 期货日内交易小经验-开仓篇
  11. KVM切换器如何选购
  12. 使用python操作新浪微博和一些想法
  13. Canceling statement due to conflict with reco
  14. AI面试锦囊|网易互娱AI Lab人工智能研究工程师两面分享
  15. python opencv 剪切图片
  16. java 生成随机编码_Java生成随机编码
  17. 数据建模和数据库设计
  18. 关于springmvc项目一加入validation-api包就报错的解决方法
  19. [NOI 2008]假面舞会(综合图论)
  20. quartus仿真7:74194构建序列发生器

热门文章

  1. 《技术的潜能:商业颠覆、创新与执行》一一2.2医疗技术:人工耳蜗
  2. 数据库、MongoDB/Mongoose、cookie与session、密码加密、图片处理、web Socket和Socket.IO框架
  3. linux修改定时任务时间,linux设置定时任务的方法步骤
  4. Ubuntu查看系统内存,硬盘使用情况,指定目录使用情况,GPU。
  5. php输出语句中空格怎么表示_在PHP中如何输出空格?
  6. 深度学习多卡配置_组装机(多显卡)配置小贴士/深度学习主机
  7. 怎么看电脑是32位还是64位
  8. [模板]快速傅里叶变换(FFT)
  9. 重塑科技获评上海示范牵头单位,企业发展赢得广泛认可
  10. MySQL登录验证码原理_三:验证码的原理、作用及实现