[英]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.