当前位置:网站首页>剑指Offer 64.求1+2+...+n 递归+&&
剑指Offer 64.求1+2+...+n 递归+&&
2022-08-02 03:33:00 【HotRabbit.】
题目
求 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/problems/qiu-12n-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路
这道题没啥思路 直接看题解了
题解
递归:
巧妙的用&&
来判断。
x != 0 && 1 / x > x + y ;
如果x等于0,那么第二部分的运算就不会计算。因此,如果x为0,也就不会出现1/x,除以0的错误也不会出现
class Solution {
public int sumNums(int n) {
boolean flag = n > 0 && (n += sumNums(n - 1)) > 0;
return n;
}
}
快速乘:
class Solution {
public int sumNums(int n) {
int ans = 0, A = n, B = n + 1;
boolean flag;
flag = ((B & 1) > 0) && (ans += A) > 0;
A <<= 1;
B >>= 1;
flag = ((B & 1) > 0) && (ans += A) > 0;
A <<= 1;
B >>= 1;
flag = ((B & 1) > 0) && (ans += A) > 0;
A <<= 1;
B >>= 1;
flag = ((B & 1) > 0) && (ans += A) > 0;
A <<= 1;
B >>= 1;
flag = ((B & 1) > 0) && (ans += A) > 0;
A <<= 1;
B >>= 1;
flag = ((B & 1) > 0) && (ans += A) > 0;
A <<= 1;
B >>= 1;
flag = ((B & 1) > 0) && (ans += A) > 0;
A <<= 1;
B >>= 1;
flag = ((B & 1) > 0) && (ans += A) > 0;
A <<= 1;
B >>= 1;
flag = ((B & 1) > 0) && (ans += A) > 0;
A <<= 1;
B >>= 1;
flag = ((B & 1) > 0) && (ans += A) > 0;
A <<= 1;
B >>= 1;
flag = ((B & 1) > 0) && (ans += A) > 0;
A <<= 1;
B >>= 1;
flag = ((B & 1) > 0) && (ans += A) > 0;
A <<= 1;
B >>= 1;
flag = ((B & 1) > 0) && (ans += A) > 0;
A <<= 1;
B >>= 1;
flag = ((B & 1) > 0) && (ans += A) > 0;
A <<= 1;
B >>= 1;
return ans >> 1;
}
}
边栏推荐
- 引擎开发日志:场景编辑器开发难点
- 【网络基础】浏览器输入一个URL之后,都发生了什么(详细讲解)
- 笔记本电脑充电问题
- USB HUB USB集线器电路设计
- Mac安装MySQL详细教程
- HDMI转MIPI CSI东芝转换芯片-TC358743XBG/TC358749XBG
- idea中创建jsp项目详细步骤
- Case | industrial iot solutions, steel mills high-performance security for wisdom
- Arduino lights up nixie tubes
- Personal image bed construction based on Alibaba Cloud OSS+PicGo
猜你喜欢
【详解】优先级队列的底层实现
全加器高进位和低进位的理解
Process (below): process control, termination, waiting, replacement
[DS3231 RTC real-time clock module and Arduino interface to build a digital clock]
如何使用 PHP 实现网页交互
Arduino lights up nixie tubes
步兵相关连接
Lightly:新一代的C语言IDE
为什么D类音频功放可以免输出滤波器
HAL库笔记——通过按键来控制LED(基于正点原子STM32F103ZET6精英板)
随机推荐
【详解】优先级队列的底层实现
Application of electronic flow on business trip
Compatible with C51 and STM32 Keil5 installation method
【Arduino connects SD card module to realize data reading and writing】
ICN6211:MIPI DSI转RGB视频转换芯片方案介绍 看完涨知识了呢
TQP3M9009电路设计
【plang 1.4.6】Plang高级编程语言(发布)
Cadence allegro导出Gerber文件(制板文件)图文操作
模拟电子技术------半导体
TeamCode 产品 UI 全新升级,快来体验吧
Case | industrial iot solutions, steel mills high-performance security for wisdom
path 修补文件命令
WebApp 在线编程成趋势:如何在 iPad、Matepad 上编程?
MPU6050 accelerometer and gyroscope sensor is connected with the Arduino
GM7150 CVBS转BT656视频解码芯片详细内容及设计要求
龙芯2K1000使用nfs挂载文件系统进行使用
引擎开发日志:场景编辑器开发难点
78XX 79XX多路输出电源
向龙芯2K1000板子上烧写中标麒麟系统
同时求最大值与最小值(看似简单却值得思考~)