15.1
(define (t num)
(if(= num 0)
'()
(accumulate word(se (t (/(- num (remainder num 2))2))
(remainder num 2)))))
15.2
(define (palindrome sent)
(if(or(empty? sent)(=(count sent)1))
#t
(if(equal? (first(acc sent))(last(acc sent)))
(palindrome (bf(bl(acc sent))))
#f)))
(define (acc sent)
(accumulate word sent))
15.3
(define (substrings wd)
(if(empty? wd)
'()
(se (sub wd)(substrings (bf wd)))))
(define (sub wd)
(if(=(count wd)1)
wd
(se (sub (bl wd))wd)))
15.4
(define (substring? w1 w2)
(member? w1 (substrings w2)))