2つの必ずしも等しい長さのリストを取り、各要素が2つのリストからの同じインデックスの要素の合計であるリストを返すScheme(Racket)で関数を作成する必要があります。リストの長さが等しくない場合は、長い方のリストのサイズに達するまで、短い方のリストを追加する必要があります。例えば:
=> (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)))))
助けていただければ幸いです、ありがとうございます。