#OEIS A347025的Python程序#Michael S.Branicky,2021年11月6日#修改日期:2021年11月9日从时间导入时间time0=时间()从itertools导入组合来自numba import njit@尼吉特def allonions(套):对于范围内的k(1,2**len(套)):u、 掩码=0,1对于范围内的i(长度(套)):如果掩码(&k):u |=集合[i]掩码<<=1产量u定义a(n):如果n<2:返回nm=2为True时:打印(“…”,n,m,time()-time0)allfailed=真对于组合中的族(范围(1,2**n),m):if len(set(family))!=m: 继续unionfound=假对于范围(m)内的i:this=家族[i]rest=系列[:i]+系列[i+1:]rest=[r表示r处于rest中,如果r&this==r]如果len(rest):所有剩余=0对于静止的r:所有剩余|=r如果allrest==此:unionfound=真打破如果未找到:中断allfailed&=未找到如果未发现:中断如果全部失败:返回m-1m+=1对于范围(0,11)中的n:打印(f“a{n}={a(n)}\n”)