题目描述

求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 = (int)(Math.pow(n,2)+n);return sum>>1;}
}

2、利用&&的短路特性停止递归

注意java中&&两边必须是boolean语句。

public class Solution {public int Sum_Solution(int n) {int ans = n;boolean t=((ans!=0) && ((ans += Sum_Solution(n - 1))!=0));return ans;}
}

3、如果没有额外的要求,可以使用普通递归算法

 public static int Sum(int n){if(n<2)return n;else return Sum(n-1)+n;}

求1+2+3+...+n相关推荐

  1. 力扣解题——求根到叶子节点数字之和

    难度:中等 题目:给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字. 例如,从根到叶子节点路径 1->2->3 代表数字 123. 计算从根到 ...

  2. HJ86 求最大连续bit数

    描述 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 本题含有多组样例输入. 输入描述: 输入一个byte数字 输出描述: 输出转成二进制之后连续 ...

  3. 利用牛顿法求平方根-Go语言实现

    牛顿法解释 百度的解释如下: 通俗的解释就是:多数方程不存在求根公式,牛顿提出了一种用迭代来求方程近似根的方法.思路就是不断取切线,用线性方程的根逼近非线性方程f(x)=0f(x)=0f(x)=0的根 ...

  4. 求字符串全排列 python实现

    文章目录 算法思想 附上c语言实现 参考 算法思想 输入一个字符串,打印这个字符串中字符的全排列. eg: 输入:abc 输出:abc acb bac bca cab cba 思路:将求字符串的全排列 ...

  5. 正视自己的所想所求,活出真实的自己

    你有没有发现有时我们会觉得不开心,是因为有时候我们会觉得有时候我们很穷,过得没有别人好.其实,有时候我们过得不好,真的不是因为穷.很多时候,我们习惯把生活的不愉快归罪于缺钱: 所以会觉得不开心,如果我 ...

  6. 经典笔试上机考题-表达式求值

    相信参加过笔试面试同学应当见到过表达式求值这道题,下面列举的一道经典的考题,本文将同大家一起细细探讨一下表达式求值这一类问题的求法,希望抛砖引玉,其中有不妥的地方也请大家多多批评指正. /* 功能:四 ...

  7. python符号求导

    https://blog.csdn.net/m0_46149708/article/details/109024564 from sympy import * x, y, z = symbols('x ...

  8. 矩阵乘以其矩阵转置求导-数学

    20210703 矩阵论 https://zhuanlan.zhihu.com/p/288541909?utm_source=wechat_session 矩阵运算法则 20210529 https: ...

  9. 解释为什么用梯度下降而不是直接求导数为0的解

    问题: 在计算线性回归最大似然估计的解的时候,最后的推导结果是 为什么不直接求出θ?而是一步步迭代求出θ? 原因 因此,梯度下降可以节省大量的计算时间.此外,它的完成方式允许一个简单的并行化,即在多个 ...

  10. PyTorch入门学习(二):Autogard之自动求梯度

    autograd包是PyTorch中神经网络的核心部分,简单学习一下. autograd提供了所有张量操作的自动求微分功能. 它的灵活性体现在可以通过代码的运行来决定反向传播的过程, 这样就使得每一次 ...

最新文章

  1. 浅谈动态人脸识别技术原理
  2. 第十九章 9标签类Label
  3. 加载XML 添加删除节点
  4. exchange2007 灾难恢复E00.log(虚拟环境实验)
  5. 【Android 安装包优化】Android 中使用 7zr 可执行程序 解压缩文件
  6. ad策略下发_组策略--下发文件到计算机
  7. (译)在Objective-c里面使用property教程
  8. java ssm 分页_SSM实现简单后台分页
  9. 【转】2.1【MySQL】运行原理(一):查询sql的执行过程及MySQL架构分析
  10. 一个大胖鲸-Docker(2):简单的几个docker命令
  11. VS2013配置Qt5.8.0环境
  12. [转载]onclientclick和onclick区别
  13. python之heapq
  14. C++标准程序库读书笔记-第二章新的语言特性
  15. Redis 中的 standalone(单机模式)配置说明和分析
  16. VB.NET 保留2位小数
  17. unity3d 700种 材质球_活动策划:这10种气球创意玩法,让活动现场的布置更高级。...
  18. 大数据要学javaweb吗_自学java大数据可以找到工作吗?该怎么学?
  19. scala 上界 <:, 下界>:, 视界 <%, 边界 :, 协变 +T, 逆变-T
  20. java正则完美匹配注释_匹配Email邮箱的正则表达式(完美经典)

热门文章

  1. 列举python中常用的数据类型_列举Python常用数据类型并尽量多的写出其中的方法...
  2. [渝粤教育] 广东-国家-开放大学 大学英语2
  3. 【渝粤题库】国家开放大学2021春2626药事管理与法规题目
  4. 腾讯人均每月薪酬成本超8万元,员工总数首次超10万
  5. 【渝粤题库】国家开放大学2021春1335幼儿园课程与活动设计题目
  6. matlab 矩阵jocobi迭代_高校MATLAB被禁用,掀起中国本土软件脆弱的冰山一角
  7. android 日期相,Android日历始终保持相同的日期
  8. linux可以http安装么,Linux 5下 http的安装
  9. ubantu java编辑器_Linux Ubuntu中最好的代码编辑器 程序员都这么看吗?
  10. java+语音识别+谷歌_JAVA使用谷歌语音识别API