【发布时间】:2017-05-05 01:11:10
【问题描述】:
我正在尝试在 java 中编写一个函数,该函数可以找到提升到另一个操作数的结果的操作数。
我不能使用 pow 函数或任何形式的循环。有什么可能的解决方案?我试过“^”,但没有用。
public static String raiseP(int op1, int op2){
int result = op1 ^ op2; //Doesn't Work
return result;
}
有没有办法使用基本数学来做到这一点?
我写过:
public static int pow(int x, int y, int n, int z){
if (y == n){
System.out.println(z);
return z;
}
else{
z = z*x;
n += 1;
pow(x,y,n,z);
return 0;
}
}
ex: pow(5,9,0,1) == 5^9
但不允许使用递归。
【问题讨论】:
-
你可以使用递归函数吗?
-
请在帖子中展示您尝试过的内容。
-
如果您不能使用任何形式的循环或
Math.pow,那么唯一的其他选择就是递归? -
使用很长的一系列
if...elses。或者一个很长的switch...case没有休息。或者你如何展示你试图不从我那里得到任何更荒谬的建议。 -
^是 XOR 逻辑运算符,而不是“幂”。
标签: java math computer-science exponent