fork download
  1. (
  2. defun cont (lista)
  3. (
  4. if (equal lista nil)
  5. 0
  6. (
  7. + 1 (cont (cdr lista))
  8. )
  9.  
  10.  
  11. )
  12. )
  13.  
  14.  
  15. (
  16. defun contuno(lista)
  17. (
  18. + 1 (
  19.  
  20. if (equal lista nil)
  21. -1
  22. (
  23. contuno(cdr lista)
  24. )
  25. )
  26. )
  27. )
  28.  
  29. (
  30. defun del(lista)
  31. (
  32. if(equal lista nil)
  33. lista
  34. (
  35. if(numberp (car lista))
  36. (
  37. cons (car lista) (del (cdr lista))
  38. )
  39. (
  40. append (del (car lista)) (del(cdr lista))
  41. )
  42. )
  43. )
  44. )
  45. (
  46. defun quita(lista)
  47. (
  48. if(equal lista nil)
  49. lista
  50. (
  51. if(numberp (car lista))
  52. (
  53. cons (car lista) ( quita (cdr lista))
  54. )
  55. (
  56. if(listp (car lista))
  57. ( cons (quita (car lista)) ( quita (cdr lista)))
  58. ( quita (cdr lista) )
  59. )
  60. )
  61. )
  62. )
  63.  
  64. (
  65. defun suma_lista (l)
  66. (
  67. if(equal l nil)
  68. 0
  69. (
  70. if(numberp (car l))
  71. (
  72. + (car l) (suma_lista (cdr l))
  73. )
  74. (
  75. + (suma_lista (car l)) (suma_lista (cdr l))
  76. )
  77. )
  78. )
  79. )
  80.  
  81. (
  82. defun fib1(n)
  83. (
  84. if(or (= n 0) (= n 1))
  85. 1
  86. (
  87. * (fib1(- n 1)) (fib1(- n 2))
  88. )
  89. )
  90. )
  91. (print (cont '(1 2 3 4 5 6)))
  92. (print (contuno '(1 2 3 4 5 6)))
  93. (print (del '(1 (2 (3)) 4 5 6)))
  94. (print (quita '(1 (a (a)) 4 b 6)))
  95.  
  96. (print (suma_lista '(1 (2 (3)) 4 5 6)))
  97.  
  98. (print(fib1 5))
  99.  
  100.  
  101.  
  102.  
Success #stdin #stdout 0.03s 10600KB
stdin
Standard input is empty
stdout
6 
6 
(1 2 3 4 5 6) 
(1 (NIL) 4 6) 
21 
1