求1+2+3+...+n
题目描述
求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相关推荐
- 力扣解题——求根到叶子节点数字之和
难度:中等 题目:给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字. 例如,从根到叶子节点路径 1->2->3 代表数字 123. 计算从根到 ...
- HJ86 求最大连续bit数
描述 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 本题含有多组样例输入. 输入描述: 输入一个byte数字 输出描述: 输出转成二进制之后连续 ...
- 利用牛顿法求平方根-Go语言实现
牛顿法解释 百度的解释如下: 通俗的解释就是:多数方程不存在求根公式,牛顿提出了一种用迭代来求方程近似根的方法.思路就是不断取切线,用线性方程的根逼近非线性方程f(x)=0f(x)=0f(x)=0的根 ...
- 求字符串全排列 python实现
文章目录 算法思想 附上c语言实现 参考 算法思想 输入一个字符串,打印这个字符串中字符的全排列. eg: 输入:abc 输出:abc acb bac bca cab cba 思路:将求字符串的全排列 ...
- 正视自己的所想所求,活出真实的自己
你有没有发现有时我们会觉得不开心,是因为有时候我们会觉得有时候我们很穷,过得没有别人好.其实,有时候我们过得不好,真的不是因为穷.很多时候,我们习惯把生活的不愉快归罪于缺钱: 所以会觉得不开心,如果我 ...
- 经典笔试上机考题-表达式求值
相信参加过笔试面试同学应当见到过表达式求值这道题,下面列举的一道经典的考题,本文将同大家一起细细探讨一下表达式求值这一类问题的求法,希望抛砖引玉,其中有不妥的地方也请大家多多批评指正. /* 功能:四 ...
- python符号求导
https://blog.csdn.net/m0_46149708/article/details/109024564 from sympy import * x, y, z = symbols('x ...
- 矩阵乘以其矩阵转置求导-数学
20210703 矩阵论 https://zhuanlan.zhihu.com/p/288541909?utm_source=wechat_session 矩阵运算法则 20210529 https: ...
- 解释为什么用梯度下降而不是直接求导数为0的解
问题: 在计算线性回归最大似然估计的解的时候,最后的推导结果是 为什么不直接求出θ?而是一步步迭代求出θ? 原因 因此,梯度下降可以节省大量的计算时间.此外,它的完成方式允许一个简单的并行化,即在多个 ...
- PyTorch入门学习(二):Autogard之自动求梯度
autograd包是PyTorch中神经网络的核心部分,简单学习一下. autograd提供了所有张量操作的自动求微分功能. 它的灵活性体现在可以通过代码的运行来决定反向传播的过程, 这样就使得每一次 ...
最新文章
- 浅谈动态人脸识别技术原理
- 第十九章 9标签类Label
- 加载XML 添加删除节点
- exchange2007 灾难恢复E00.log(虚拟环境实验)
- 【Android 安装包优化】Android 中使用 7zr 可执行程序 解压缩文件
- ad策略下发_组策略--下发文件到计算机
- (译)在Objective-c里面使用property教程
- java ssm 分页_SSM实现简单后台分页
- 【转】2.1【MySQL】运行原理(一):查询sql的执行过程及MySQL架构分析
- 一个大胖鲸-Docker(2):简单的几个docker命令
- VS2013配置Qt5.8.0环境
- [转载]onclientclick和onclick区别
- python之heapq
- C++标准程序库读书笔记-第二章新的语言特性
- Redis 中的 standalone(单机模式)配置说明和分析
- VB.NET 保留2位小数
- unity3d 700种 材质球_活动策划:这10种气球创意玩法,让活动现场的布置更高级。...
- 大数据要学javaweb吗_自学java大数据可以找到工作吗?该怎么学?
- scala 上界 <:, 下界>:, 视界 <%, 边界 :, 协变 +T, 逆变-T
- java正则完美匹配注释_匹配Email邮箱的正则表达式(完美经典)
热门文章
- 列举python中常用的数据类型_列举Python常用数据类型并尽量多的写出其中的方法...
- [渝粤教育] 广东-国家-开放大学 大学英语2
- 【渝粤题库】国家开放大学2021春2626药事管理与法规题目
- 腾讯人均每月薪酬成本超8万元,员工总数首次超10万
- 【渝粤题库】国家开放大学2021春1335幼儿园课程与活动设计题目
- matlab 矩阵jocobi迭代_高校MATLAB被禁用,掀起中国本土软件脆弱的冰山一角
- android 日期相,Android日历始终保持相同的日期
- linux可以http安装么,Linux 5下 http的安装
- ubantu java编辑器_Linux Ubuntu中最好的代码编辑器 程序员都这么看吗?
- java+语音识别+谷歌_JAVA使用谷歌语音识别API