算法1.-不用加减乘除做加法

  1. 位运算
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //链接:https://www.nowcoder.com/questionTerminal/59ac416b4b944300b617d4f7f111b215
    //来源:牛客网
    //Java
    public class Solution {
    public int Add(int num1,int num2) {
    while (num2!=0) {
    int temp = num1^num2;
    num2 = (num1&num2)<<1;
    num1 = temp;
    }
    return num1;
    }
    }
    1
    2
    3
    4
    5
    6
    7
    8
    //C++:
    class Solution {
    public
    int Add(int num1, int num2)
    {
    return num2?Add(num1^num2,(num1&num2)<<1):num1;
    }
    };
  2. 汇编
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //链接:https://www.nowcoder.com/questionTerminal/59ac416b4b944300b617d4f7f111b215
    //来源:牛客网
    int add(int a, int b)
    {
    _asm
    {
    MOV EAX, a
    MOV ECX, b
    ADD EAX, ECX
    }
    }
  3. 自增自减
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    //链接:https://www.nowcoder.com/questionTerminal/59ac416b4b944300b617d4f7f111b215
    //来源:牛客网

    public class Solution {
    public int Add(int num1,int num2) {
    if(num1>0){
    while(num1--!=0)
    num2++;
    }
    else if(num1<0){
    while(num1++!=0)
    num2--;
    }
    return num2;
    }
    }
  4. 通过指针
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //链接:https://www.nowcoder.com/questionTerminal/59ac416b4b944300b617d4f7f111b215
    //来源:牛客网

    class Solution {
    public:
    int Add(int num1, int num2)
    {
    char* a = reinterpret_cast<char*>(num1);
    return reinterpret_cast<long>(&(a[num2]));
    }
    };
  5. 通过函数
    1
    2
    3
    public int Add(int num1, int num2) {
    return Integer.sum(num1, num2);
    }
    Integer.sum()源码
    1
    2
    3
    public static int sum(int a, int b) {
    return a + b;
    }
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2015-2020 John Doe
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信