我正在尝试为以下任务制定一种算法:
我已经搜索过很多遍了,但是我所能找到的只是关于如何转换矩阵,如何进行几何转换,如何将字符串转换为另一字符串以及类似内容的想法。
有人有什么想法吗?
最佳答案
这是通过最小操作数目来查找转换的方法:
(编辑:添加了括号)
public static void main (String [] args)
{
int a = 5, b = 23;
System.out.println (transform (a, b) + " = " + b);
}
public static String transform (int a, int b)
{
if (a == b) return "" + a;
if (b % 2 == 0 && 2 * a <= b)
{
b = b / 2;
return transform (a, b) + " * 2";
}
else
{
b = b - 1;
return "(" + transform (a, b) + " + 1)";
}
}
关于java - 使用递归将数字转换为其他数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6157424/