Вычисление суммы кубов - Lisp

Узнай цену своей работы

Формулировка задачи:

Здравствуйте!Помогите пожалуйста с задачей: Составить программу вычисления суммы кубов чисел от 25 до 55. Заранее спасибо. HomeLisp

Решение задачи: «Вычисление суммы кубов»

textual
Листинг программы
(defun sum-qube (n1 n2)
  (iter (for i from n1 to n2) (summing (* i i i))))
 
 
==> sum-qube
(sum-qube 25 55)
 
==> 2281600
 
(defun sum-qube (n1 n2)
  (apply '+ (mapcar #'(lambda (x) (^ x 3)) (range n1 n2))))
 
==> sum-qube
 
(sum-qube 25 55)
 
==> 2281600

Объяснение кода листинга программы

В обоих кусках кода определена функция с именем sum-qube, которая принимает два аргумента, n1 и n2. В первом куске кода функция использует цикл iter и вложенный цикл for для перебора чисел от n1 до n2. Внутри циклов происходит вычисление куба числа i и результат умножается на i. Все полученные значения суммируются. Во втором куске кода функция использует функцию apply для применения + к результатам функции mapcar. Функция mapcar применяет к числам от n1 до n2 (включительно) операцию возведения в куб (^), а затем полученные значения преобразуются в список. Затем функция apply суммирует все элементы списка. В обоих случаях результат выполнения функции sum-qube со значениями n1=25 и n2=55 равен 2281600.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.385 из 5
Похожие ответы