Разложение числа на сумму трех кубов - Lisp
Формулировка задачи:
Помогите пожалуйста с задачкой, заранее спасибо.
Представить число в виде суммы кубов 3х чисел
Решение задачи: «Разложение числа на сумму трех кубов»
textual
Листинг программы
- CL-USER 5 > (defun task (n)
- (let ((m (truncate (expt n (/ 1.0 3.0))))
- (res nil))
- (dotimes (i m res)
- (dotimes (j (- m i) t)
- (dotimes (k (- m j) t)
- (let ((ii (+ i 1))
- (jj (+ j i 1))
- (kk (+ k j 1)))
- (when (= n (+ (expt ii 3) (expt jj 3) (expt kk 3))) (push (list ii jj kk) res))))))))
- TASK
- CL-USER 6 > (task 216)
- ((4 5 3) (3 5 4) (3 4 5))
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д