Подсчитать количество и сумму цифр целого N - Lisp
Формулировка задачи:
Подсчитать число и сумму цифр целого N.
МНЕ нужно упростить до 1 функции , чтобы cons возвращался для каждой
Листинг программы
- (defun numb (n)
- (cond
- ((= 0 (floor n 10)) 1)
- (t (+ 1 (numb (floor n 10))))))
- (defun sum (n)
- (cond
- ((< n 10) n)
- (t ( + (rem n 10) (sum (truncate ( / n 10)))))
- ))
- (defun res (n)
- (cons (numb n) (sum n)))
Решение задачи: «Подсчитать количество и сумму цифр целого N»
textual
Листинг программы
- (defun sum-and-number-of-digits (n)
- (cond
- ((= 0 n) '(0 1))
- (t (list (+ (rem n 10) (car (sum-and-number-of-digits (floor n 10))))
- (+ 1 (cadr (sum-and-number-of-digits (floor n 10))))))))
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д