0
반복적 인 스킴에서이 두 재귀 프로그램을 만드는 데 도움이 필요합니까? 재귀를 만들었지 만 둘 다 반복을 만드는 데 집착합니다.반복적 인 스킴 프로그램을 반복적으로
질문 1 - 재귀
(define mylength
(lambda (l)
(cond
((null? l) 0)
(else (+ 1 (mylength (cdr l)))))))
질문 1 - 반복?
질문 2 - 재귀
(define mylistref
(lambda (l index)
(cond
((= index 0)(car l))
(else
(mylistref (cdr l) (- index 1))))))
질문 2 - 반복?
당신은 아마도 반복적 인 루프 반복을 의미합니다. 반복문은 꼬리 위치에서 호출되므로 재귀 호출은 whote의 결과이며 재귀 프로세스는 결과와 함께 어떤 작업을 수행해야합니다. 따라서 첫 번째 예제에서 나중에 추가해야하므로 재귀 적으로 추가해야합니다. 두 번째 작업은 이후에 수행되는 작업이 없기 때문에 반복되는 프로세스입니다. 그 차이가 보이니? – Sylwester
[반복으로 반복 교정?] (http://stackoverflow.com/questions/40253790/recursion-to-iteration-with-proof) – Renzo