加减乘除做加法。写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。"/>
不用加减乘除做加法。写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
使用++,- -运算符
class Solution
{
public:int Add(int num1, int num2){if (num1 > 0){while (num1--)num2++;}else {while (num1++)num2--;}return num2;}
};
使用位运算
class Solution
{
public:int Add(int num1, int num2){while (num2 != 0) {int temp = num1 ^ num2;num2 = (num1 & num2) << 1;num1 = temp;}return num1;}
};
class Solution
{
public:int Add(int num1, int num2){return num2 ? Add(num1 ^ num2, (num1 & num2) << 1) : num1;}
};
class Solution
{
public:int Add(int num1, int num2){if (num2 == 0)return num1;return Add(num1 ^ num2, (num1 & num2) << 1);}
};
更多推荐
不用加减乘除做加法。写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
发布评论