我正在阅读SICP第3章并考虑到这一点(认为它是创建整数流的过程整数的变体):如何创建两个交替值的流?例如,你创建了这个:
1 0 1 0 1 0 1 0 ...
您可以将步骤更改为2(或更多)并使其看起来像
1 1 0 0 1 1 0 0 1 1 ...
1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 ...
答案 0 :(得分:-1)
(define (make-alternating-values n)
(define (iter i)
(cons-stream
(if (> n 0)
1
0)
(if (= i (- 1 n))
(iter n)
(iter (- i 1)))))
(iter n))
(make-alternating-values 1)
; 1 0 1 0 1 0 1 0 ...
(make-alternating-values 2)
; 1 1 0 0 1 1 0 0 1 1 ...
(make-alternating-values 3)
; 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 ...