0
A
回答
0
你必須要考慮三種情況:
(define (non-zero numbers)
(cond ((null? numbers) 0) ; is the list empty? return zero
((not (= (car numbers) 0)) ; is the current element non-zero?
(+ 1 (non-zero (cdr numbers)))) ; add 1 to the counter and recur
(else ; otherwise
(non-zero (cdr numbers))))) ; skip to the next element
或者,如果你的解釋器支持它,一個更地道的解決辦法是使用更高階的程序:
(define (non-zero numbers)
(count (lambda (n) (not (zero? n)))
numbers))
無論哪種方式,它按預期工作:
(non-zero '(4 1 0 2 0 1 3))
=> 5
-1
我對計劃根本不熟悉。但是這可以很容易地使用遞歸來實現。想象一下列表[0,1,2,2,0,1]。您需要沿着列表走下去,依次查看每個元素,並在每次在列表中找到0時增加一個計數器。
(define (count_zeroes numbers)
(if (null? numbers) 0
(+ 1 (count_zeroes (cdr numbers))))
+0
是啊謝謝..但在這裏,我們檢查的原子是一個非零值的條件? (用於檢查我們使用的零(= 0(汽車號))),這就是爲什麼我困惑,我們如何檢查原子是不是零? –
相關問題
- 1. 計數中的R列的非零值
- 2. 計數表中的非空或非零的列數
- 3. awk計數零和非零字段值:
- 4. 在sql中計數非零值
- 5. 如何計算給定數組列中非零值的數量?
- 6. 從方案中的嵌套列表中計數元素
- 7. 從列表方案
- 8. 方案:從列表
- 9. 從列表中獲得最接近的非零值的最佳方法
- 10. 方案 - 從列表中列出
- 11. 在方案中計數列表中的數字或字符
- 12. 計算非零值的平均值
- 13. Python:如何在列表中設置零值/ array/pd.Series是下一個非零值?
- 14. Javascript/jQuery解決方案從表格中下拉列表中總結數值
- 15. 從數組中計數值在數據表列中的值
- 16. 從方案列表中刪除項目
- 17. 從方案列表中獲取元素
- 18. perl數組非零值
- 19. 方案列表
- 20. 在宏列表中取非零元素
- 21. 數據庫中可列表集合的設計替代方案
- 22. 計數項目出現在結構化列表中的方案
- 23. 在Python中計算非零值的聚類數量?
- 24. 如何統計sql中包含非零值的行數
- 25. 從列表中刪除零的函數?
- 26. 當列值從零變爲非零值時使用rails發送電子郵件
- 27. 列表包括零的頻率計數
- 28. Neo4j:Cypher - 從列表列表中計算空值的數量
- 29. 從數據幀中的每列中選擇第一個非零值
- 30. SAS - 從列中的數據集中查找並打印第一個非零值
yeahh ..它那樣做:)謝謝 –