我想在给定的位置和人数之后找到下一个幸存者。
(define renumber
(lambda (position n)
(if (< position 3)
(+ position (- n 3))
(- position 3))))
(define survives?
(lambda (position n)
(if (< n 3)
#t
(if (= position 3)
#f
(survives? (renumber position n) (- n 1))))))
(define first-survivor-after
(lambda (position n)
(cond ((and (<= n 3)(<= position 3)) null)
((or (>= n 3)(>= position 3))(survives? position n)
(if = #f survives?)
(survives? (+ 1 position) n)
"Surviving position"))))
我只需要用幸存位置的确切数字替换最后一位。该程序将运行直到找到幸存者,我只是不知道如何给出这个位置作为答案,因为现在一切都是真假。谢谢!