第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

這個算法怎么解!??! 大家?guī)兔纯矗。?/h1>

一個大于0的整數(shù) N , 求 2 * N + 4*N + 8*N + 16*N 以此類推,當X*N 大于 5000的時候輸出! 然后從小到大以此輸出 2*N 、 4*N 、 8*N 、 16*N X*N .... 不大于5000 輸出完之后再倒著從大到小輸出 X*n .... 16*N 、8*N 、4*N 、2*N 不能用循環(huán) 不能用本地變量!
查看完整描述

5 回答

?
料青山看我應如是

TA貢獻1772條經(jīng)驗 獲得超8個贊

public static void print(int n){

if((n = n << 1) <= 5000) {

System.out.print(n + " ");

print(n);

System.out.print(n + " ");

} else {
System.out.println();
}
}

查看完整回答
反對 回復 2019-04-30
?
慕婉清6462132

TA貢獻1804條經(jīng)驗 獲得超2個贊

既然不能用循環(huán),樓主必須要想到這個其實是考察你遞歸式的運用

public static int TowPowWithN(int n) {

    int sum = TowPowWithN(n, 2, 0);
    return sum;
}

public static int TowPowWithN(int n, int x, int sum) {
    if (n == 0) {
        return 0;
    }
    int y = n * x;
    System.out.println(y);
    sum += y;
    if (y >= 5000) {
        return sum;
    } else {
        x *= 2;
        return TowPowWithN(n, x, sum);
    }

倒序打印我是沒想出來 樓主可以自己想想了


查看完整回答
反對 回復 2019-04-30
?
HUX布斯

TA貢獻1876條經(jīng)驗 獲得超6個贊

這個..明顯考遞歸的啦!

public class test{

static void test(int n){
n*=2;
if(n<=5000)
{
printf("%d,",n);
test(n);
printf("%d,",n);
}
else
{
printf("\n");
return;
}
}

static void main(int argc,String args[])
{

}

}


查看完整回答
反對 回復 2019-04-30
?
SMILET

TA貢獻1796條經(jīng)驗 獲得超4個贊

這個主要考察的是遞歸的理解 因為遞歸 有個入棧和出棧的過程哈!

public class Test{

static void test(int n){

n*=2;

if(n<=5000)

{

System.out.print(n);

test(n);

System.out.print(n);

}

else

{

System.out.println();

return;

}

}

static void main(String args[])

{

if(args.length<2)
System.out.println("輸入n");
else
test(Integer.parseInt(args[1]));

}

}

如果正確,請選為最佳答案 謝謝


查看完整回答
反對 回復 2019-04-30
?
鴻蒙傳說

TA貢獻1865條經(jīng)驗 獲得超7個贊

//要求是得到X以後先打印X的結(jié)果,再正序打印累加序列的話。需要在計算的時候得用減法,保證遞歸棧的順序正確。
                    int Count(int result, int X, int N, boolean isFirstEnter ){
                        if ( isFirstEnter ){
                            if ( result > 0 ){
                                X++;
                                result -= 2*X*N;
                                Count(result, X, N, isFirstEnter);
                                System.out.println(2*X*N);
                            }

                            else{//最終結(jié)果已經(jīng)得到,d
                                System.out.println(X);
                            }

                            if ( result == 5000 ){//正序打印完畢,開始第二次遞歸,並進行倒序打印
                                Count(result, 1, N, false);
                            }
                        }
                        else{
                            if ( result > 0 ){
                                System.out.println(2*X*N);
                                X++;
                                result -= 2*X*N;
                                Count(result, X, N, isFirstEnter);
                            }
                        }
                    }

                    int invertedOrderPrint(int result, int X, int N){
                        if ( result - 2*X*N > 0 ){
                            X++;
                            result 
                            invertedOrderPrint()
                        }
                    }


查看完整回答
反對 回復 2019-04-30
  • 5 回答
  • 0 關(guān)注
  • 487 瀏覽
慕課專欄
更多

添加回答

了解更多

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號