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

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

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

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

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

textual
Листинг программы
  1. (defun sum-qube (n1 n2)
  2.   (iter (for i from n1 to n2) (summing (* i i i))))
  3.  
  4.  
  5. ==> sum-qube
  6. (sum-qube 25 55)
  7.  
  8. ==> 2281600
  9.  
  10. (defun sum-qube (n1 n2)
  11.   (apply '+ (mapcar #'(lambda (x) (^ x 3)) (range n1 n2))))
  12.  
  13. ==> sum-qube
  14.  
  15. (sum-qube 25 55)
  16.  
  17. ==> 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы