👩💻 Задача с кодом. Комбинаторное исследование
Если известно количество уникальных элементов в ряду, сколько есть вариантов их перестановки?
Напишите функцию, которая будет принимать целое число n, определять количество возможных перестановок для n уникальных элементов и возвращать количество цифр в числе перестановок.
Например, для 5 уникальных элементов существует 120 уникальных вариантов перестановки. В числе 120 три цифры, поэтому функция должна вернуть число 3.
🔵 Примеры:
no_perms_digits(0) ➞ 1
no_perms_digits(1) ➞ 1
no_perms_digits(5) ➞ 3
no_perms_digits(8) ➞ 5
⭐️ Решение на нашем сайте.
#задача #coding
4 · 472 · Ветка 👩💻 Задача с кодом. Комбинаторное исследование
6 сообщений · –A import math def no_perms_digits(n: int) -> int: if n <= 1: return 1 log_fact = n * math.log10(n / math.e) + 0.5 * math.log10(2 * math.pi * n) return math.floor(log_fact) + 1 # Проверка: print(no_perms_digits(0)) # ➞ 1 print(no_perms_digits(1)) # ➞ 1 print(no_perms_digits(5)) # ➞ 3 (5! = 120) print(no_perms_digits(8)) # ➞ 5 (8! = 40320) Хорошо работает даже с большими числами.