; homework

(define (f1 n)
  (do ((i 1 (+ i 1))) ((= i (* 2 n)))
    (display (if (< n i) (- (* 2 n) i) i)))
  (newline))

(display (f1 5)) (newline)

(define (f2 n)
  (do ((i 1 (+ i 1))) ((= n i)) (display i))
  (do ((i n (- i 1))) ((= 0 i)) (display i))
  (newline))

(display (f2 5)) (newline)

(define (f3 n)
  (define (f n s)
    (if (= n 1) (begin (display s) (newline))
	(f (- n 1) (string-append (number->string (- n 1)) s (number->string (- n 1))))))
  (f n (number->string n)))

(display (f3 5)) (newline)

(define (f4 n)
  (display (case n
    ((1) "1")
    ((2) "121")
    ((3) "12321")
    ((4) "1234321")
    ((5) "123454321")
    ((6) "12345654321")
    ((7) "1234567654321")
    ((8) "123456787654321")
    ((9) "12345678987654321")))
  (newline))

(display (f4 5)) (newline)