簡體   English   中英

找出NaturalNumber n的最小位數

[英]Find the minimum digit of a NaturalNumber n

我在嘗試調用此方法時試圖查找自然數的最小位數。 我必須使用遞歸。 我要去哪里錯了? (我也想使用我的通用代碼結構)

private static int minDigit(NaturalNumber n) {
    int min = 9;
    if (!n.isZero()) {
        int k = n.divideBy10();
        k = minDigit(n);
        if (k < min) {
            min = k;
        }
    }
    return min;
}

為了使遞歸起作用,需要對問題的較小版本進行遞歸調用,以便最終使其變得如此小以至於答案是顯而易見的。 但是您的代碼對具有相同編號n的遞歸調用進行了調用,因此從未對該狀態進行任何處理。

此外,如果n 零,則不應最低位 0? 如果n永遠不能為0,那么為什么需要測試呢?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM