给你一个整数n,m,我们定义n的最亲密的数为:重排n的每一数位(首位不为零),假如重排后的数字为m的倍数,则这个数为n最亲密的数,现在问对于整数n和m,n的最亲密的数有多少个。
输入描述:
输入两个整数n(1 <= n <= 10^12)和 m(1 <= m <= 100)
第一行输入n,第二行输入m
给你一个整数n,m,我们定义n的最亲密的数为:重排n的每一数位(首位不为零),假如重排后的数字为m的倍数,则这个数为n最亲密的数,现在问对于整数n和m,n的最亲密的数有多少个。
输入描述:
输入两个整数n(1 <= n <= 10^12)和 m(1 <= m <= 100)
第一行输入n,第二行输入m
import itertools
n=input() #字符串
m=int(input()) #直接转int
count=0
l=list(n) #转list
a=itertools.permutations(l,len(n)) #排列组合
for i in a:
b=''.join(i) #list重新变回str
if b!=n and len(str(int(b)))==len(n) and int(b)%m==0:
count+=1
#b与n不能一样;b转int再转回str要与之前一样长,排除0开头
print(count)