寻找一种使用递归计算从x到y的最小可能移动数的方法

时间:2019-05-09 17:32:03

标签: java recursion

我需要编写一种方法,通过这些操作来计算从x到y的最低移动量:

  1. 添加1
  2. 乘以2

我试图检查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

0 个答案:

没有答案