递归计算要绘制的线条

时间:2016-04-13 13:37:21

标签: java recursion

所以基本上我有一个递归计算绘制线的方法。

它基本上是这样做的:

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。

感谢任何帮助。

2 个答案:

答案 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;
}
相关问题