题目:以计算机提供的如下原子操作,实现加、减、乘法。
- 赋值操作:b=a;
- ++a和a+1;
- for(){......}有限循环;
- 操作数只能为0或者正整数;
- 定义函数
解答:
加法操作
int add(int a, int b)
{
int result = a;
for (int i = 0; i < b; ++i)
{
++result;
}
return result;
}
减法操作
int sub(int a, int b)
{
if (a < b)
return -1;
int result = 0;
for (; ; ++result)
{
if (a == add(result, b))
break;
}
return result;
}
乘法操作
int mul(int a, int b)
{
int result = 0;
for (int i = 0; i < b; ++i)
{
result += add(result, a);
}
return result;
}