我需要在Scheme(球拍)中編寫一個函數,該函數需要兩個不一定相等的長度列表 ,並返回一個列表,其中每個元素是相同的 索引的元素之和兩個列表。如果列表的長度不相等,則較短的一個應該追加到自身,直到它達到較長的那個的大小。例如:方案:通過索引添加2個列表
=> (addLists '(1 2 3 4) '(1 2))
(2 4 4 6)
=> (addLists '(1 2 3 4) '(1 2 3 4 5))
(2 4 6 8 6)
直到現在我能夠編寫完成此同等長度列表的功能,但問題在於我怎麼增加短名單的長度在這個函數中(或與助手函數獲取一個列表和一個大小並正確地擴展它)。
(define (sumListPairs lst1 lst2)
(if (null? lst1) null
(cons (+ (car lst1) (car lst2))
(sumListPairs (cdr lst1) (cdr lst2)))))
將不勝感激任何幫助,謝謝。
您可能希望粘貼當前的addLists定義,這將幫助人們幫助您。 –
現在做了,謝謝! –