Som*_*ers 0 java recursion multiplication
这可能吗?这是我的作业,我的老师显然相信它,但在我看来,不可能在短乘法之外使用加法或乘法.
写入(并提供测试器)递归算法:
int multiply(int x,int y)
将两个正整数相乘而不使用*运算符.不要只为自己添加x次!
(提示:编写一个递归方法,将整数乘以0的范围内的值.10.然后编写第二个递归方法,实现您学到的乘法算法,以便在小学中乘以多位数.)
我的问题是,一旦你分解任何多位数并开始将它们加在一起你必须使用大于10的数字乘法,即22*6是2*6 + 20*6 ...所以我完全错过了什么?
编辑 我想我应该添加这是我的代码,
public int mult(int x, int y){
return x == 0 ? 0 : (mult(x-1, y) + y);
}
Run Code Online (Sandbox Code Playgroud)
这是完美的,但据我理解的说明,这是打破不只是添加x自己y次.我个人认为不是,但我的老师不是很清楚,我想知道是否还有其他一些我没有想过的方法,对不起这种困惑.
| 归档时间: |
|
| 查看次数: |
15415 次 |
| 最近记录: |