题解 | 加法运算替代

加法运算替代

https://www.nowcoder.com/practice/73f21c4e681f44be9517f215b7652eb8

#include <algorithm>
class AddSubstitution {
    int negate(int x) {
        int delta = x > 0 ? -1 : 1;
        int sum = 0;
        while (x != 0) {
            x += delta;
            sum += delta;
        }
        return sum;
    }
    int by(int x, int y) {
        int res = 0;
        for (int i = 0; i < y; ++i) {
            res += x;
        }
        return res;
    }
    int device(int x, int y) {
        int res = 0;
        int sum = y;
        while (x > sum) {
            sum += y;
            ++res;

        }
        return res;
    }
    int minus(int x, int y) {
        if (x < y) return  negate(minus(y, x));
        int res = 0;
        while (x > y) {
            ++res;
            ++y;

        }
        return res;
    }
  public:
    int calc(int a, int b, int type) {
        // write code here
        if (type == 1) {
            return by(a, b);
        } else if (type == 0) {
            return device(a, b);

        } else {
            return minus(a, b);
        }

    }
};

全部评论

相关推荐

头像
01-29 18:11
海南大学 Java
奔跑的suechil...:单从项目看这个简历不怕被问穿吗 带微服务的项目需要相当多的项目理解和经验诶
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务