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

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

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

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

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

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

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

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

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


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

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

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