- 相关推荐
另一道递归算法题(2009年企业面试题)
一个整数,大于0,不用循环和本地变量,按照n,2n,4n,8n的顺序递增。当值大于5000时,把值按照指定顺序输出来。
例:n=1237
则输出为:
1237,
2474,
4948,
9896,
9896,
4948,
2474,
1237,
提示:写程序时,先致谢按递增方式的代码,写好递增的以后,在增加考虑递减的部分。
static void doubleNum(int x)
{
System.out.println(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)
{
System.out.println(x);
if(x<=5000)< p="">
{
doubleNum(2*x);
}
System.out.println(x);
}
public static void main(String[] args)
{
doubleNum(323);
}
}
执行结果:323 646 1292 2584 5168 5168 2584 1292 646323
大家看到了,结果和上个例子完全不一样,结果又重新打印了一次,而且顺序正好相反。
[另一道递归算法题(2009年企业面试题)]相关文章:
2.国税面试题及答案
【另一道递归算法题企业面试题】相关文章:
一道经典的面试题分享07-13
一道腾讯的面试题07-09
JAVA算法面试题:哪位高人会做?07-13
淘宝面试题求解--数据挖掘-算法07-13
一道Java面试题,题目如下07-11
一道前端JS面试题,求解?07-13
js函数递归问题?07-09