我需要编写一种方法,通过这些操作来计算从x到y的最低移动量:
我试图检查y是否为奇数,然后使用y-1输入递归 如果y甚至使用y / 2输入递归
public static int minOps(int x, int y)
{
if(x==y)
return 0;
if(x>y)
return 0;
if(y%2==1)
return 1+minOps(x,y-1);
if(y%2==0)
return 1+minOps(x,y/2);
return 0;
}
例如,如果x = 10且y = 24,则输出将为3。 因为(10 + 1 + 1)* 2 = 24这是可能的最低移动,而不是10 * 2 + 1 + 1 + 1 + 1