limenitis

Untitled

Apr 8th, 2022
320
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. ; Разработать функцию, находящую сумму элементов с нечетными
  2. ; номерами в заданном списке чисел.
  3. ; Например:
  4. ; Вход: (2 4 3 1 7 2 4).
  5. ; Выход: 16.
  6.  
  7. (defun main (LST &optional (F T) (SUM 0))
  8. (cond
  9. ; если список пуст возвращаем sum
  10. ((null LST) SUM)
  11.  
  12. ; если F == T (элемент на нечетной позиции)
  13. ; добавляем первый элемент в sum,
  14. ; оставшийся список передаем дальше в рекурсию
  15. ((eq F T) (main (cdr LST) nil (+ sum (car LST))))
  16.  
  17. ; если F == nil (элемент на четной позиции)
  18. ; передаем список дальше в рекурсию
  19. ((eq F nil) (main (cdr LST) T sum))
  20. )
  21. )
  22.  
Advertisement
Add Comment
Please, Sign In to add comment