Top.Mail.Ru
Ответы

Задано число K. Вам необходимо выяснить, сколько существует 12-ти значных чисел, в записи которых ровно K четных цифр?

Задано число K. Вам необходимо выяснить, сколько существует 12-ти значных чисел, в записи которых ровно K четных цифр (это цифры 0,2,4,6,8)?
Пример ввода: 1 Пример вывода: 2880859375

По дате
По рейтингу
Аватар пользователя
Новичок
7мес

Количество вариантов размещения 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))) 
Аватар пользователя
Мудрец
7мес

На

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()