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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為什么這段遞歸代碼會(huì)無限重復(fù)?

為什么這段遞歸代碼會(huì)無限重復(fù)?

侃侃無極 2023-03-17 10:12:17
我只是用遞歸代碼計(jì)算,但它進(jìn)入了無限循環(huán)。編輯:完整代碼。而IDE(Eclipse)什么也沒說,可以正常運(yùn)行。class RepresentWithN {    static int number;    static int N;    static int answer;public int solution(int N, int number) {    RepresentWithN.N = N;    RepresentWithN.number = number;    answer = 9;    calc(0, 0);    return answer == 9 ? -1 : answer;}static int conN(int length) {    int tmp = N;    for (int i = 1; i < length; i++) {        tmp += tmp * 10;    }    return tmp;}static void calc(int prev, int count) {    if (count == 9) {        return;    }    if (prev == number) {        answer = Math.min(answer, count);        return;    }    System.out.println("count=" + count + " prev=" + prev);    for (int i = 1; i <= 5; i++) {        calc(prev + conN(i), count + 1);        calc(prev - conN(i), count + 1);        calc(prev * conN(i), count + 1);        calc(prev / conN(i), count + 1);    }}它重復(fù)'count'大約是7或8,不知道為什么。
查看完整描述

2 回答

?
慕哥6287543

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊

嘗試這個(gè)。每次運(yùn)行后,取消注釋其中一個(gè)遞歸調(diào)用。



public class ForEverDemo {


   static long count = 0;


   public static void main(String[] args) {

      alongtime(0);

      System.out.println("count = " + count);

   }


   public static void alongtime(int v) {

      count++;

      if (v == 9) {

         return;

      }

      for (int i = 0; i < 3; i++) {

         alongtime(v + 1);

         // alongtime(v + 1);

         // alongtime(v + 1);

         // alongtime(v + 1);

         // alongtime(v + 1);

      }

   }

}


查看完整回答
反對(duì) 回復(fù) 2023-03-17
?
米琪卡哇伊

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊

終count有其價(jià)值9。通過打印這個(gè)值來檢查這個(gè)。


static void calc(int prev, int count) {

        System.out.println("count=" + count + " prev=" + prev);

        if (count == 9) {

            return;

        }

        ...

你的遞歸中有很多分支,需要大量的計(jì)算。這就是為什么它沒有結(jié)束。你可以再等一個(gè)小時(shí)或幾天/幾年才能看到這個(gè)程序的結(jié)束。或者用有效的代碼替換此代碼。


查看完整回答
反對(duì) 回復(fù) 2023-03-17
  • 2 回答
  • 0 關(guān)注
  • 128 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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