Задача по Lisp

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

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

В научное сообщество входят N человек. Написать программу, которая определяет, сколько существует возможных вариантов назначить его представителей на K должностей, если известно, что один человек может занимать только одну должность. Заранее благодарю.

Решение задачи: «Задача по Lisp»

textual
Листинг программы
  1. (defun f (n k)
  2.   (if (< n (+ k 1))
  3.       1
  4.       (* n (f (decf n) k))))
  5. F
  6. [2]> (f 3 2)
  7. 3
  8. [3]> (f 4 2)
  9. 12

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

[1] В функции f определены два аргумента n и k. [2] Условие функции f проверяет, если n меньше или равно сумме k и 1, то возвращается 1. [3] Если условие не выполняется, то возвращается результат умножения n на результат вызова функции f с аргументами n и k уменьшенным на 1.

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


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

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

15   голосов , оценка 4.2 из 5

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

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

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