接收三个正整数参数,以列表的方式返回各位数字互不相同、所有数字之和等于m,并且这个数是k的倍数的n位数

def fil_1st(n,m,k):
#接收三个正整数参数,以列表的方式返回各位数字互不相同、所有数字之和等于m,并且这个数是k的倍数的n位数
不知道n位数该怎么表达


m=int(input("请输入m: "))
n=int(input("请输入n: "))
k=int(input("请输入k: "))

def find_numbers(m, n, k):
    numbers = []
    for i in range(10**(n-1), 10**n):
        if sum(int(x) for x in str(i)) == m and i % k == 0:
            numbers.append(i)
    return numbers

print(find_numbers(m, n, k))