本文共 618 字,大约阅读时间需要 2 分钟。
int Mul(int x, int y) { int result = 0; if (y > 1) { result = Mul(x, y-1)+ x ; } else { result = x; } return result;}
分析过程:
在此优化了一下,刚刚正整数的函数部分已经写好了,那么再考虑负整数的话,可将这个情况转成刚才的求正数的情况再来计算。因此,可以添加一个函数来对y的值进行讨论。
具体代码实现如下:int Mulhelper(int x, int y) { int result = 0; if (y > 1) { result = Mulhelper(x, y-1)+ x ; } else { result = x; } return result;}int Mul(int x, int y) { if (y == 0) { return 0; } if (y > 0) { return Mulhelper(x, y); } else { return -Mulhelper(x, -y); }}
此处注意:y<0的情况,转换为正整数进行计算,所以返回值要加负号 “-”
转载地址:http://nsg.baihongyu.com/