Exercise 1.30 write in iteratively

gyumni | Aug. 25, 2019, 4:21 a.m.

是要改哪个

sum

(define (sum term a next b)
  (if (> a b)
      0
      (+ (term a)
         (sum term (next a) next b))))
(define (sum-integers a b)
  (if (> a b)
      0
      (+ a (sum-integers (+ a 1) b))))
(define (sum term a next b)
  (define (iter a result)
    (if <??>
        <??>
        (iter <??> <??>)))
  (iter <??> <??>))
(define (factorial n)
  (fact-iter 1 1 n))

(define (fact-iter product counter max-count)
  (if (> counter max-count)
      product
      (fact-iter (* counter product)
                 (+ counter 1)
                 max-count)))
(define (sum-integers a b)
  (if (> a b)
      0
      (+ a (sum-integers (+ a 1) b))))
(define (sum term a next b)
  (define (iter a result)
    (if <result<0>
        <term a>
        (iter <next a> <result b>)))
  (iter <a> <b-a>))

 

(define (sum-integers a b)
  (if (> a b)
      0
      (+ a (sum-integers (+ a 1) b))))

(define (sum-integers a b count)
  (if (> a b)
      0
      (+ a (sum-integers (+ a 1) b (- b a)))))

首先是把这个式子改成迭代

(define (sum term a next b)
  (define (iter a result)
    (if <a>b>
        <0>
        (iter <next a> <term a + result>)))
  (iter <a> <(trem a)>))

count 3 3 result=trem a

count 4 4 trem 4 + trem a

count 5 5 + result

2019-08-26/5:07:56 PM

这是不是代码抽象的能力,因为,在纸上写,然后测试2019-08-27/7:48:38 AM

About Us

brown1730and...其实在我替代模型的时候,就发现了是迭代,那时候,就在想,为什么不用线性呢?2019-08-26/14:46:00是否要学习一种学习方法呢,甚至想问一下,scoot yang 是怎么做练习题,上一次的这种时候,经历过的,也只有面对高中的无力了,奇怪的是考试考的还挺好,记错了,应该是,不担心成就的时候,考得很好,不担心未来的时候,活得很好,现在两方面都有点担心,QQ音乐那种悲伤的调调,又要回来了,好像花光了所有的运气和祈愿,这是不是人在奔向三十岁的时候,经常有的想法,小时候,经常许愿,还愿的人一定很烦,我小的时候怎么许了那么多愿

Know more about EOPL! Know more about SICP!