Необходимо в многозначном числе вывести 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
происходит следующее:
nth
- это функция, которая возвращаетk
-ый элемент из списка. В данном случае,- n 1
означает, что мы берем элемент списка, который находится на позицииn-1
.mapcar
- это функция, которая применяет функцию к каждому элементу списка. В данном случае, мы применяем функциюparse-integer
к каждому элементу списка.map
- это функция, которая применяет функцию к каждому элементу списка. В данном случае, мы применяем функциюstring
к каждому элементу списка.write-to-string
- это функция, которая преобразует число в строку. Таким образом, когда мы вызываем функциюdigit
с аргументами3
и12345
, она возвращает3
, так как это третий элемент в списке, который был получен в результате преобразования числа12345
в строку и разделения этой строки на список.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д