(哈斯克尔)
导入数据。集合(空,fromList,deleteFindMin,union)
导入合格数据。设置为集(null,map)
a048102 n=a048102_list!!(n-1)
a048102_list=1:f空[1]a051674_list,其中
f s ys pps’@(pp:pps)
|设置值s=f(fromList(map(*pp)ys))(pp:ys)pps
|pp<m=f(s`union`Set.map(*pp)s`union`
fromList(映射(*pp)ys个pps
|否则=m:f s'(m:ys)pps'
其中(m,s')=删除查找最小值
(PARI)isok(n)=我的(f=系数(n));对于(k=1,#f~,如果(f[k,1]!=f[k、2],返回(0));1; \\米歇尔·马库斯2016年4月29日