所以基本上我有一个递归计算绘制线的方法。
它基本上是这样做的:
if(size == 2) unit /= 2;
if(size == 2 || size == 6) unit /= 2;
if(size == 2 || size == 6 || size == 10) unit /= 2;
所以有一种模式正在发生。它检查大小是否等于最后一个大小+ 4.从2开始。
我想知道如何以递归方式执行此操作。
这是方法
public void recurs()
{
if(size >= SIZE) return;
//Write recursive method here
recurs();
}
SIZE等于256。
感谢任何帮助。
答案 0 :(得分:1)
这:
public void recurse(int size)
{
if(size >= SIZE) return;
unit /= 2;
recurse(size + 4);
}
然后拨打recurse(2);
但是这种递归算法可以解决:
unit /= Math.pow(2, ((SIZE - 2) / 4) + 1);
答案 1 :(得分:0)
类似的东西:
public int compute(int unit) {
if((unit - 2) % 4 == 0)
return compute(unit / 2);
return unit;
}