美文网首页
使用移位计算加法与不使用循环条件判断语句等差求和(剑指offer

使用移位计算加法与不使用循环条件判断语句等差求和(剑指offer

作者: senninha | 来源:发表于2017-05-14 17:41 被阅读43次

1.不使用乘法,条件比较语句计算等差数列和

    //递归的思想
    public static int total(int n){
        int sum = n ;
        //短路性质
        boolean b = (n != 0) && ((sum = sum + total(n - 1)) > 0);
        return sum;
    }

2.使用移位做加法

1.相加,但是不计算进位,这样的话异或运算满足这个性质
2.然后计算计算进位,右移 一位产生进位
3.然后神奇地发现1,2相加就是原来的值,可是不能用加法啊我去
4.所以继续重复上诉的运算法则,直到进位值为0的时候,直接就是xx + 0了,这个就是结果

public static int add(int a , int b){
        int sum = 0;
        int bit = 0;
        do{
            sum = a ^ b;
            bit = (a & b) << 1;
            a = sum;
            b = bit;
        }while(bit != 0);
        
        return sum;
    }

相关文章

  • 使用移位计算加法与不使用循环条件判断语句等差求和(剑指offer

    1.不使用乘法,条件比较语句计算等差数列和 2.使用移位做加法 1.相加,但是不计算进位,这样的话异或运算满足这个...

  • python:基础_条件循环语句

    9.判断语句和循环语句 9.1 if判断语句: 格式: if的使用: if 条件: 条...

  • 2.6 循环语句结合 Else 语句使用

    while循环语句结合else语句使用的语法:while 要判断的条件: 执行循环语句里面的代码else: ...

  • js判断语句

    条件判断语句:- 使用条件判断语句可以在执行某个语句之前进行判断,如果条件成立才会执行语句,条件不成立则语句不执行...

  • 09.条件循环语句、函数

    条件循环语句、函数 一、条件语句 1). 基本的条件语句 常用方式 其他方式 判断字符串是否相等可以使用“=”或者...

  • js判断

    条件判断语句:使用条件判断语句可以在执行某个语句之前进行判断,如果条件成立才会执行语句,条件不成立则语句不执行。i...

  • 循环

    for循环的3个条件都是可以省略的,如果没有退出循环的判断条件,就必须使用break语句退出循环,否则就是死循环:...

  • 条件与循环

    条件与循环### 条件语句: 形式: '''if 判断语句 :执行语句1elif 判断语句2:执行语句2elif ...

  • 如何学习python|23、break语句

    break语句用于结束循环,常和条件判断一起使用,在特定条件下结束循环。 在while 循环和for 循环里分别这...

  • 剑指offer 64 不使用条件语句的递归

    求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及...

网友评论

      本文标题:使用移位计算加法与不使用循环条件判断语句等差求和(剑指offer

      本文链接:https://www.haomeiwen.com/subject/rxiqxxtx.html