剑指offer-题46:求1+2+...+n

原创 2018年04月16日 17:39:49

题目描述

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

实验平台:牛客网


解决思路:

这题的解答方法来源于牛客网,是通过递归解决的,感觉很巧妙。虽然是递归,但是满足题目给的要求,没有用题目中的关键字。利用了运算符“&&”的“短路”这一特性,当&&左边为假时,就不会继续运算或者判断右边的表达式了。这个思路中,从最大的数开始计算,一直加直到1时结束。代码如下

java:

public class Solution {
    public int Sum_Solution(int n) {
        int sum = n;
        boolean flag = n > 0 && (sum += Sum_Solution(n - 1)) > 0;
        return sum;
    }
}

python:

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wang454592297/article/details/79963783

Python趣味百题-进阶篇

-
  • 1970年01月01日 08:00

剑指offer 面试题46:求1+2+3+...+n(不能使用乘除法、循环语句及条件判断语句) 题解

剑指offer 面试题: 求1+2+3+...+n 提交网址: http://www.nowcoder.com/practice/7a0da8fc483247ff8800059e12d7caf1?...
  • yanglr2010
  • yanglr2010
  • 2016-04-24 08:38:22
  • 1397

浅谈《剑指offer》原题:求1+2+……+n

《剑指offer》上的一道原题,求1+2+……+n,要求不能使用乘除法,for、while、if、else、switch、case等关键字以及条件判断语句(a?b:c)。 第一次看到这道题大约有一年的...
  • liuqiyao_01
  • liuqiyao_01
  • 2014-09-15 15:48:39
  • 3633

剑指offer-面试题46-求1+2+3+...+n

package case46_Accumulate; /** * 题目:求1+2+3+...+n,要求不能使用乘除法,for,while,if,else,switch,case等关键字及条件判断语...
  • VIP_WangSai
  • VIP_WangSai
  • 2017-05-03 01:01:42
  • 466

剑指Offer--039-二叉树的深度

链接 牛客OJ:二叉树的深度 九度OJ:http://ac.jobdu.com/problem.php?pid=1350 GitHub代码: 039-二叉树的深度 C...
  • gatieme
  • gatieme
  • 2016-05-07 20:39:04
  • 1370

【剑指offer】二叉树的深度

题目:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 方法一分析:主要思想就是层序遍历,就是有遍历上一层的每一个节点,得到下...
  • cdwxx1234
  • cdwxx1234
  • 2017-07-15 14:27:07
  • 182

【剑指offer-Java版】46求 1 + 2 + 3 + ... + n

求 1 + 2 + … + n 但是不能使用判断,循环,分支,条件判断语句以及乘除运算利用反射实现递归:目标就是构建一个递归出口 public class _Q46 { public i...
  • Sugar_Z_
  • Sugar_Z_
  • 2016-04-27 09:47:16
  • 1023

剑指Offer-求1+2+3+...+n

题目描述求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。题目解析求1到n的和,重点是不能使用乘除、for、...
  • wangyang1354
  • wangyang1354
  • 2017-06-16 20:07:49
  • 1624

牛客网刷题--剑指offer(两个栈实现队列)

牛客网给出的题目要求是用两个栈数据结构实现一个队列的push和pop操作。 两个栈实现队列这是很好理解的。因为栈的特性是后进先出(LIFO),而队列的特性是先进先出(FIFO),那两个栈连在一块儿,...
  • liu_sheng_1991
  • liu_sheng_1991
  • 2016-06-29 17:56:24
  • 442

剑指offer 面试题46 求 1+2+3+...+n (不使用乘除以及条件判断语句求前 n 项正整数的和)

剑指offer 面试题46 求 1+2+3+…+n 题目: 求 1+2+…+n。要求不能使用乘除法、for、while、if、else、switch、case等关键字 及条件判断语句。...
  • liyazhou0215
  • liyazhou0215
  • 2017-06-04 17:20:53
  • 410
收藏助手
不良信息举报
您举报文章:剑指offer-题46:求1+2+...+n
举报原因:
原因补充:

(最多只允许输入30个字)