python实现第二类斯特林数详细所有情况
要想实现python实现第二类斯特林数详细所有情况,首先我们要了解将一个整数拆分非0整数的所有情况(已经写了相应的博客),详细的理论这个博客就不讲了,大家可以去参考我的其他两篇博客
将一个整数拆分各种情况之后,我们就要对里面的数字排列组合了,之后去重
#-*-encoding=utf-8-*-
import itertools
from itertools import product
import numpy as np
#作者huangquan
def detail(x):
l=[]
def max_values(n,x):
max_value=0
iters=np.arange(0,x,1)
for i in iters:
max_value= np.power((n-x+2),i)*(n-x+1)+max_value
return max_value
def min_values(n,x):
min_value=0
iters=np.arange(0,x,1)
for i in iters:
min_value= np.power((n-x+2),i)*1+min_value
return min_value
def f(n,x):
#n这里设置范围30以下,不够的朋友自己加
a=range(1,30,1)
b=[]
while True:
s=n//x
y=n%x
b=b+[y]
if s