Задача про нечетные числа

How many seven-digit odd numbers can be formed by rearranging the digits in the number 5321233? A)144B)168C)196D)225E)240
Почему ответ 240?. У меня выходит 300.
180 чисел заканчивающиеся на 3
60 чисел заканчивающиеся на 1
60 чисел заканчивающиеся на 5

1 симпатия

У меня тоже выходит 300 (\frac{6!}{2!2!}+\frac{6!}{3!2!}+\frac{6!}{3!2!}). Возможно, ошибка в учебнике. Этот ответ сходится еще так: количество чисел, оканчивающихся на 2 будет 120 (\frac{6!}{3!}), в сумме они будут давать 420, что как раз-таки является общим количеством всех чисел, получающихся перестановкой цифр: \frac{7!}{3!2!}

3 симпатии

У меня тоже выходит 300


def create_permutation(base, curPerm=None):
    if curPerm is None:
        curPerm = ''
    if not base:
        yield curPerm
    else:
        for i, elt in enumerate(base):
            yield from create_permutation(base[:i]+base[i+1:], curPerm + elt)

def count_odd_numbers(digits):
    perms = set(create_permutation('5321233'))
    odd = 0
    for perm in perms:
        if int(perm) % 2 == 1:
            odd += 1
    return odd

print(count_odd_numbers('5321233'))
1 симпатия