Задано число K. Вам необходимо выяснить, сколько существует 12-ти значных чисел, в записи которых ровно K четных цифр?
Задано число K. Вам необходимо выяснить, сколько существует 12-ти значных чисел, в записи которых ровно K четных цифр (это цифры 0,2,4,6,8)?
Пример ввода: 1 Пример вывода: 2880859375
По дате
По рейтингу
Количество вариантов размещения k чётных цифр по 12 позициям равно:
12!/(k!∙(12-k)!)
При этом в каждой из 12 позиций может находиться одна из 5 цифр.
Общее кол-во чисел, включая числа с ведущими нулями: 5¹²∙12!/(k!∙(12-k)!)
Но на первой позиции не может быть 0.
Количество вариантов чисел, начинающихся с нуля, равно:
5¹¹∙11!/((k-1)!∙(12-k)!)
Ответ: 5¹²∙12!/(k!∙(12-k)!) - 5¹¹∙11!/((k-1)!∙(12-k)!) = 5¹¹∙11!∙(60-k)/(k!∙(12-k)!)
Весь код:
123
import math
k = int(input())
print((60 - k) * 5 ** 11 * math.factorial(11) // (math.factorial(k) * math.factorial(12 - k)))
На
12345678910111213141516171819202122
import math
def count_numbers_with_k_even_digits(K):
if K < 1 or K > 12:
return 0
return (math.comb(11, K-1) * 4 * 5**(K-1) * 5**(12-K))
def main():
while True:
try:
K = int(input("Введите число K (от 1 до 12): "))
if 1 <= K <= 12:
result = count_numbers_with_k_even_digits(K)
print(f"Количество 12-значных чисел с ровно {K} четными цифрами: {result}")
break
else:
print("Ошибка: K должно быть в пределах от 1 до 12.")
except ValueError:
print("Ошибка: введите корректное целое число.")
if __name__ == "__main__":
main()
Больше по теме