1. зад:
(define (sum-rec n)
(if (= n 1) 0
(+ (/ (- n 1) n) (sum-rec (- n 1)))))
(define (sum-iter n)
(define (tmp count rez)
(if (> count n) rez (tmp (+ count 1) (+ rez (- 1 (/ 1 count))))))
(tmp 2 0))
зад.2:
(define (list-primes a b)
(define (prime? x)
(define (tmp delitel)
(if (> delitel (/ x 2)) #t
(if (= (modulo x delitel) 0) #f
(tmp (+ 1 delitel)) ) ) )
(tmp 2) )
(if (>= b a) (cond ((< a 2)(list-primes 2 b))
((prime? a )
(display a)(display " ")(list-primes (+ a 1) b)
)
(else (list-primes (+ a 1) b))
) ) )
зад.3:
( define (reverse x)
( define (tmp a rez)
( if (= a 0) rez (tmp (floor(/ a 10)) (+ (* rez 10) (modulo a 10) ) ) )
)
(tmp x 0)
)
зад. 4:
(define (sum-list a b c)
(define (sum x rez)
(if (= x 0) rez (sum (floor(/ x 10)) (+ rez (modulo x 10))))
)
(cond ( (and (<= a b) (= c (sum a 0)))
(display a) (display " ") (sum-list (+ a 1) b c )
)
( (<= a b )
(sum-list (+ a 1) b c )
) ))
Задачите достигат до вас с любезната помощ на Камен :))))))
Wednesday, November 08, 2006
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment