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