Advertisement
Guest User

Untitled

a guest
Sep 19th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. ;1
  2. (define (count x0 xs)
  3. (if (null? xs)
  4. 0
  5. (if (eq? (car xs) x0)
  6. (+ 1 (count x0 (cdr xs)))
  7. (count x0 (cdr xs)))))
  8. (define (count1 x0 xs)
  9. (define (iter counter list)
  10. (if (null? list)
  11. counter
  12. (if (eq? (car list) x0)
  13. (iter (+ 1 counter) (cdr list))
  14. (iter counter (cdr list)))))
  15. (iter 0 xs))
  16. ;2
  17. (define (delete pred? xs)
  18. (define (iter xs1 new)
  19. (if (null? xs1)
  20. new
  21. (if (pred? (car xs1))
  22. (iter (cdr xs1) new)
  23. (iter (cdr xs1) (append new (list (car xs1)))))))
  24. (iter xs '()))
  25. ;3
  26. (define (iterate f x n)
  27. (define (iter count buff list_new)
  28. (if (= count 0)
  29. list_new
  30. (iter (- count 1) (f buff) (append list_new (list buff)))))
  31. (iter n x '()))
  32. ;4
  33. (define (intersperse e xs)
  34. (define (iter xs1 new)
  35. (if (null? xs1)
  36. new
  37. (if (null? (cdr xs1))
  38. (iter (cdr xs1) (append new (list (car xs1))))
  39. (iter (cdr xs1) (append new (list (car xs1) e))))))
  40. (iter xs '()))
  41. ;5
  42. (define (any? pred? xs)
  43. (define (iter xs1)
  44. (and (not (null? xs1)) (or (pred? (car xs1)) (iter (cdr xs1)))))
  45. (iter xs))
  46. (define (all? pred? xs)
  47. (define (iter count xs1)
  48. (or (and (null? xs1) (= count (length xs))) (and (pred? (car xs1)) (iter (+ count 1) (cdr xs1)))))
  49. (iter 0 xs))
  50. ;6
  51. (define (o . args)
  52. (define (iter funcs)
  53. (if (null? funcs)
  54. (lambda (x) x)
  55. (let ((func1 (car funcs)))
  56. (if (null? (cdr funcs))
  57. func1
  58. (let ((func2 (iter (cdr funcs))))
  59. (lambda (x) (func1 (func2 x))))))))
  60. (iter args))
  61. ;7
  62. (define (find-number a b c)
  63. (define (iter count)
  64. (if (>= b count)
  65. (if (= (remainder count c) 0)
  66. count
  67. (iter (+ count 1)))
  68. (>= b count)))
  69. (iter a))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement