當前位置:學問谷 >

職場範例 >面試 >

另一道遞歸算法題(2009年企業面試題)

另一道遞歸算法題(2009年企業面試題)

另一道遞歸算法題(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

大家看到了,結果和上個例子完全不一樣,結果又重新打印了一次,而且順序正好相反。

  • 文章版權屬於文章作者所有,轉載請註明 https://xuewengu.com/flzc/mianshi/311j7r.html