Приветствую Вас, уважаемые Читатели! Сегодня у нас достаточно простая статья, связанная с занимательной математикой. Я думаю, все прекрасно, знают, что такое факториал:
Бывалые Читатели моего канала помнят и про такое понятие, как субфакториал:
Субфакториал (или subfactorial) - обозначается символом !n и представляет собой количество перестановок n элементов, в которых ни один элемент не остается на своем месте. Для небольших значений n это можно проиллюстрировать следующим образом:
- Для n = 1: !1 = 0. Единственный элемент не может "переставляться" сам с собой.
- Для n = 2: !2 = 1. Всего две возможные перестановки (1, 2) и (2, 1), и только одна из них соответствует требованию "ни один не остается на своем месте".
- Для n = 3: !3 = 2. Возможные перестановки: (1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1). В двух из них ни один элемент не остается на своем месте: (2, 3, 1) и (3, 1, 2).
Первые десять значений субфакториалов натуральных чисел:
- !1 = 0
- !2 = 1
- !3 = 2
- !4 = 9
- !5 = 44
- !6 = 265
- !7 = 1854
- !8 = 14833
- !9 = 133496
- !10 = 1334961
Исторически субфакториал появился как одна из 12 классических задач комбинаторики:
Найти число способов, которыми можно положить n писем в n конвертов (по одному в каждый), чтобы ни одно не попало в соответствующий конверт
Как и факториал, у субфакториала есть и своя формула через интеграл:
Теперь перейдем к субфакторионам - числам, которые равны сумме субфакториалов своих цифр. Определим верхнюю границу таких чисел. Итак:
Теперь нам нужен простейший код на Python и онлайн-компилятор:
Итоговый результат, который выдала программа:
И это единственное число, которое носит гордое название "субфаткорион". Первые его упоминания можно найти в достаточно интересной книжке 1966 года "Математика на каникулах":
На странице 167 есть упоминание этого факта:
Покопавшись еще в сети, удалось найти превью статьи из "Mathematical Magazine" с упоминанием факта, что субфакторион впервые был найден в 1966 году с применением ЭВМ:
Однако, стоит заметить, что мой "топорный" код выполнялся бы на компьютерах середины 70-х очень долго. Так что стоит отдать почести простым студентам-энтузиастам за программирование решения такой интересной задачки.
- Спасибо за внимание!
- Скачать "Математику на каникулах" как обычно можно в Telegram