Функцию, которая перемножает все числа между "A" и "B" С цикла do


Я делаю функцию, которая перемножает все числа между "А" и "Б" вход с делать петли. Если вы, пожалуйста, проверить и сказать что не так, так как я не знаю, петли очень хорошо в схему.

(define (pi-function x y)
  (let ((result y))
    (do ((limI x (+ x 1)))
        ((= limI y) result)
      (set! result (* result limI)))))


199
1
задан 10 июня 2011 в 07:06 Источник Поделиться
Комментарии
1 ответ

Вы можете использовать делать петли без использования набора!.

(define (product-of-range x y)
(do ((result 1 (* result i))
(i x (+ i 1)))
((> i y) result)))

3
ответ дан 10 июня 2011 в 07:06 Источник Поделиться