本文共 361 字,大约阅读时间需要 1 分钟。
为了优化递归乘法函数,我们可以将其改写为迭代版本,以提高效率和避免栈溢出。以下是优化后的函数:
int Mul(int x, int y) { int result = 0; int absY = y < 0 ? -y : y; for (int i = 0; i < absY; i++) { result += x; } return y > 0 ? result : -result;} 解释:
处理符号: 检查y的符号,取绝对值进行计算,然后根据y的符号决定返回结果的正负。
迭代计算: 使用循环从0到absY-1,逐次累加x的值,得到结果。
返回结果: 根据y的符号决定最终结果的正负。
这种方法避免了递归的潜在问题,提高了效率,并处理了所有情况,包括正数、负数和零。
转载地址:http://nsg.baihongyu.com/