Необходимо в многозначном числе вывести k-ую цифру - Lisp

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

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

Необходимо в многозначном числе вывести k-ую цифру, например есть число 126387, при k=4 должно вывести 3. Если можно, на Xlisp

Решение задачи: «Необходимо в многозначном числе вывести k-ую цифру»

textual
Листинг программы
(defun digit (n m) 
  (nth (- n 1) (mapcar #'parse-integer
                (map 'list #'string (write-to-string m)))))
 
> (digit 3 12345)
3

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

В данном коде определена функция digit, которая принимает два аргумента - n и m. Внутри функции digit происходит следующее:

  1. nth - это функция, которая возвращает k-ый элемент из списка. В данном случае, - n 1 означает, что мы берем элемент списка, который находится на позиции n-1.
  2. mapcar - это функция, которая применяет функцию к каждому элементу списка. В данном случае, мы применяем функцию parse-integer к каждому элементу списка.
  3. map - это функция, которая применяет функцию к каждому элементу списка. В данном случае, мы применяем функцию string к каждому элементу списка.
  4. write-to-string - это функция, которая преобразует число в строку. Таким образом, когда мы вызываем функцию digit с аргументами 3 и 12345, она возвращает 3, так как это третий элемент в списке, который был получен в результате преобразования числа 12345 в строку и разделения этой строки на список.

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


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

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

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