当前位置

首页 > 文学百科 > 面试技巧 > 另一道递归算法题(2009年企业面试题)

另一道递归算法题(2009年企业面试题)

推荐人: 来源: 阅读: 1.24W 次

另一道递归算法题(2009年企业面试题)

一个整数,大于0,不用循环和本地变量,按照n,2n,4n,8n的顺序递增。当值大于5000时,把值按照指定顺序输出来。

例:n=1237

则输出为:

1237,

2474,

4948,

9896,

9896,

4948,

2474,

1237,

提示:写程序时,先致谢按递增方式的代码,写好递增的以后,在增加考虑递减的'部分。

static void doubleNum(int x)

{

tln(x);

if(x<=5000)< p="">

{

doubleNum(2*x);

}

public static void main(String[] args)

{

doubleNum(323);

}

}

执行结果为:323 646 1292 2584 5168

大家再看下面的例子,有何区别?

public class Num

{

static void doubleNum(int x)

{

tln(x);

if(x<=5000)< p="">

{

doubleNum(2*x);

}

tln(x);

}

public static void main(String[] args)

{

doubleNum(323);

}

}

执行结果:323 646 1292 2584 5168 5168 2584 1292 646323

大家看到了,结果和上个例子完全不一样,结果又重新打印了一次,而且顺序正好相反。

赞助商