50.不用加减乘除求和

news/2025/2/23 14:02:02

题目描述:

  写一个函数,两个整数的和,要求在函数体内不能使用加减乘除四则运算符。

思路分析:

比如如何得到15+7=22这个结果。

  第一步:我们做各位的相加,不进位,得到12.

  第二步:做进位,5+7有进位,进位是10。

  第三步:将前步进行相加得到最后的结果22。

  题目要求我们不能使用加减乘除,那么我们还能想到的运算就是位运算,在二进制中各位相加不进位可以用异或操作来代替,求进位的时候,可以将两数相与,然后左移一位。因为对于0加0,0加1,1加0,都不会产生进位,只有1加1的时候会产生一个向前的进位,所以与后左移一位。最后将前两步的结果求和,这将会是重复前两步的操作,当不产生进位时,就会得到结果。

代码:

public class Test{
    public int sum(int sum1,int sum2){
        while(sum2!=0){ //没有进位就退出
            //第一步:对各位不进位相加
            int temp=sum1^sum2;
            //第二步:求进位
            sum2=(sum1&sum2)<<1;  //产生的进位
            //第三步:求和,求和的过程是将前两步值相加,做法就是重复前两步
            sum1=temp;
        }
        return sum1;
    }
}

转载于:https://www.cnblogs.com/yjxyy/p/10935569.html


http://www.niftyadmin.cn/n/712331.html

相关文章

python绘制蟒蛇怎么报错找不到蟒蛇属性_Python绘制彩色蟒蛇

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼一开始在练习的时候&#xff0c;在网上看了一些实例&#xff0c;看到有一个简单的例子&#xff0c;就是蟒蛇的例子&#xff0c;大家也知道Python这个中文翻译过来就是蟒蛇的意思&#xff0c;接着我有借用了这个实例自己弄了一个不一…

低功耗广域网络和ISM频段:物联网的里程碑还是公地悲剧?

频谱资源具有典型的公共资源的特点&#xff0c;尤其是非授权频谱。低功耗广域网络未来大部分都在非授权的ISM频谱上部署&#xff0c;不过&#xff0c;不断增加的通信协议使用ISM非授权频段&#xff0c;让非授权的LPWAN成为另一个典型的“公地悲剧”&#xff0c;即各类协议均希望…

IIC简介(转载)

来自&#xff1a;https://www.cnblogs.com/zalebool/p/4214599.html IIC简介&#xff1a; IIC 即Inter-Integrated Circuit(集成电路总线&#xff09;&#xff0c;这种总线类型是由飞利浦半导体公司在八十年代初设计出来的&#xff0c;主要是用来连接整体电路(ICS) &…

web前端学习(十八)——CSS3表格属性(table)的相关设置

1.CSS表格 使用 CSS 可以使 HTML 表格更美观。指定CSS表格边框&#xff0c;使用border属性。 缩写边框属性设置在一个声明中所有的边框属性。 可以设置的属性分别&#xff08;按顺序&#xff09;&#xff1a;border-width&#xff0c;border-style&#xff0c;border-color。&a…

screen 退出后继续运行_screen: 让你的程序在后台自由运行

当我们在使用putty/xshell等软件进行ssh远程访问服务器时&#xff0c;进行远程访问的界面往往不能关掉&#xff0c;否则&#xff0c;程序将不再运行。而且&#xff0c;程序在运行的过程中&#xff0c;还必须时刻保证网络的通常&#xff0c;这些条件都很难得到满足。为了解决上述…

解构协鑫:多晶硅帝国的裂变

协鑫正在成为中国能源产业之中一支不可忽视的力量。 发迹于热电的朱共山在2006年进入光伏行业。2006年3月&#xff0c;朱共山投资70多亿成立了江苏中能硅业科技发展有限公司(下简称“江苏中能”)&#xff0c;生产太阳能级多晶硅原料。此后&#xff0c;依托保利协鑫(拥有江苏中能…

web前端学习(十九)——CSS3盒子模型(Box Model)、边框属性(border)及轮廓属性(outline)的相关设置

1.CSS盒子模型(Box Model) 所有HTML元素可以看作盒子&#xff0c;在CSS中&#xff0c;"box model"这一术语是用来设计和布局时使用。 CSS盒模型本质上是一个盒子&#xff0c;封装周围的HTML元素&#xff0c;它包括&#xff1a;边距&#xff0c;边框&#xff0c;填充&…

Windows Server 2012 R2 WSUS-10:流程概述

本篇文章来大概说一说打补丁的流程&#xff0c;一般来说打补丁的流程分为测试环境测试和生产环境安装两个部分。如果企业规模比较小&#xff0c;没有完善的流程制度&#xff0c;也是有一些打补丁的原则可以遵循的&#xff0c;比如&#xff1a;对于安全级别为Low以上的各种安全补…