我發現一個問題,它說它應該使用遞歸來解決。問題是,給定一定數量時,應計算其中存在的8個數,但如果兩個8相鄰,則應計爲雙倍數。例如:遞歸計算數字的出現
48 should return 1
4881 should return 4
8818 should return 5
我已經在計劃提出了以下方案:
(define (count n)
(if (= n 0)
0
(begin
(if (= (remainder n 100) 88)
2
(begin
(if (= (remainder n 10) 8)
1
0))
)
(+ (count (quotient n 10))))))
的問題是,每次我運行它返回0,我缺少什麼?我不想使用列表或設置!用於使用輔助變量。任何幫助?
我不認爲你需要的'begin's .. – thebjorn
..但你需要自己調用中間答案(某處你可能希望定義商..?) – thebjorn