1. 首頁
  2. 面試

另一道遞迴演算法題企業面試題

另一道遞迴演算法題(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年企業面試題)]相關文章:

1.一道面試題及其推廣過橋問題

2.國稅面試題及答案