Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình đếm số nguyên n chữ số chữ số tăng dần trong Python


Cho số , đếm số nguyên dương n chữ số mà các chữ số tăng dần nghiêm ngặt (strictly increasing).

Ví dụ: → kết quả 84 (từ 123 đến 789).

Giải thuật (Toán học - Tổ hợp)

Chọn chữ số khác nhau từ 1-9 (0 không thể là chữ số đầu) và sắp xếp tăng dần → chỉ có 1 cách sắp xếp cho mỗi tổ hợp.

Số lượng = C(9, n) = 9! / (n! * (9-n)!) nếu , ngược lại 0.

Ví dụ minh họa

from math import factorial as f

class Solution:
    def solve(self, n):
        if n < 9:
            return f(9) // f(n) // f(9 - n)
        else:
            return 0

ob = Solution()
print(ob.solve(3))  # Output: 84

Đầu vào

3

Đầu ra

84