スキームで for ループを構築する方法がちょっと混乱しています。for ループはパート II で実装する必要があります。ここでは、数字のリストを取り、パート I のリスト内に各要素を挿入して長さを見つけます。私は最初の要素を取得するためにケーブルを使用しましたが、次のような出力を取得するには for ループまたは何かが必要です: '(7 10 5 16 106 37) ここに私のコードがあります:
#lang racket
; Part I
(define (sequence n)
(cond [(= n 1)
(list n)]
[(even? n)
( cons n(sequence( / n 2)))]
[(odd? n)
( cons n(sequence (+(* n 3) 1))) ] ))
(sequence 3)
; Part II
(define (find-length items)
( cond [(null? items)
(list items)]
[find-length(length(sequence(car items))) ]
))
(find-length '(10 13 16 22 95 158))
出力は次のとおりです。
'(3 10 5 16 8 4 2 1)
7