Сумма элементов матрицы равных сумме индексов соответствующих строк и столбцов - Lisp

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

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

Найти сумму всех элементов матрицы, которые равны сумме индексов соответствующих строк и столбцов.

Решение задачи: «Сумма элементов матрицы равных сумме индексов соответствующих строк и столбцов»

textual
Листинг программы
  1. (defun task (matr)
  2.   (let ((n (- (length matr) 1))
  3.         (m (- (length (car matr)) 1)))
  4.    (apply '+ (apply 'append
  5.       (mapcar (lambda (row i)
  6.              (mapcar (lambda (x j)
  7.                (if (= x (+ i j)) x 0)) row (range 0 m))) matr (range 0 n))))))
  8.              
  9.  
  10. ==> TASK
  11.  
  12. (task '((0 1 2 3) (1 2 3 4) (2 3 4 5) (3 4 5 6)))
  13.  
  14. ==> 48

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

В коде определена функция TASK, которая принимает на вход матрицу. Функция использует цикл, чтобы пройти по всем элементам матрицы. В каждой строке используется вложенный цикл, который проходит по всем элементам строки. Если элемент равен сумме индексов строки и столбца, то он добавляется к результату. В конце функция применяет операцию сложения к результату и возвращает его. Пример использования функции: (task '((0 1 2 3) (1 2 3 4) (2 3 4 5) (3 4 5 6)))

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


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

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

13   голосов , оценка 3.923 из 5

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

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

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