在Scheme中写入一个递归函数er和一个非递归(基于do-loop)函数ei,它以组件数n为参数,并计算以下和(e的近似值)1 + 1 / 1! + 1/2! + 1/3! + ... + 1 / n!,n> 0
答案 0 :(得分:1)
我有一个解决方案。我希望这会对你有所帮助!
<div style="width: 7000px;"><button id="scroll">Scroll</button></div>
答案 1 :(得分:0)
您首先要做的是计算阶乘,因为您需要在for循环中使用。然后,在for循环中,您必须调用阶乘函数,请查看如何通过for循环来实现,而不是递归地进行。下面帖子的最后一行是如何测试该函数的信息,该函数应针对阶乘6返回正确的数字。
(define (factorial n)
(cond
((= n 0) 1)
((* n (factorial (- n 1))))))
(define (ei n)
(define sum 0)
(do ((i 0 (+ 1 i)))
((> i n))
(set! sum (+ sum (/ 1. (factorial i)))))
sum)
;(ei 6)