我想创建一个函数,通过使用可以处理负数和正数的加法来查找两个整数的乘积。乘以加数
这是代码我迄今... 越来越疯狂的数字作为结果..我是一个noob..Thank你
double multi(double n1, n2)
{
double answer(0), i=0;
do
{
answer += n1; i++;
} while (i < n2);
return answer;
}
我想创建一个函数,通过使用可以处理负数和正数的加法来查找两个整数的乘积。乘以加数
这是代码我迄今... 越来越疯狂的数字作为结果..我是一个noob..Thank你
double multi(double n1, n2)
{
double answer(0), i=0;
do
{
answer += n1; i++;
} while (i < n2);
return answer;
}
您可以通过使用整数,而不是双打开始,实际上传递他们既作为参数....
int multi(int x, int y)
{
int answer = 0;
// stuff goes here...
return answer;
}
我怀疑这是家庭作业,所以我不打算给你逐字代码...
但是考虑到,如果一个VALU e是负数,如果相同的数值是正数,结果将被否定。实际上,如果您要添加x
并执行y
次,那么如果y
为负数,则可以翻转x
和y
的符号。这否定了答案,并给你一个积极的y
循环。
优化是检查两个值中的哪一个较大,并使用较小的一个作为循环变量。
..yes这是hmwk..but对不起,我不明白你的意思..
想象一下,你有两个整数X
和Y
。如果Y
是积极的,它很容易地看到:
X * Y = (X + X + X + X + ...)
现在,关于如果有什么Y
是负的?我将使用-Y
来表示:
X * -Y = -(X * Y)
= -(X + X + X + X + ...)
= (-X - X - X - X - ...)
= ((-X) + (-X) + (-X) + (-X) + ...)
所以,如果Y
是肯定的我加X
Y
副本一起。如果Y
是负数,我加在一起-Y
副本-X
。
如果这仍然没有帮助,那么我建议你坐下来思考一段时间。
..这是hmwk ..但我很抱歉我不明白你的意思.. – user1766270
我已编辑我的答案,试图澄清。 – paddy
我要检查这个......谢谢你的时间来解释它有助于我更好地理解! – user1766270
什么是'input1'和'input2'?为什么你有'n1'和'n2'但不使用它们? –
这是几乎不可读的伪代码。清理演示文稿,让示例自成一体并完成。 –
你允许使用加倍和减半吗? – Neil