#A363061-k≤P(n)的数量,即rad(k)|P(n。#Bert Dobbelaere的Python程序从sympy导入nextprimeSMALLPRIMES=6#只有2,3,5,7,11,13的产品是“光滑的”,只有17,19,23,。。。,素数(n)是“粗糙的”#此例程将粗略数字列表(仍待排序)与已排序的平滑数字列表组合在一起#它基本上计算离散x和y坐标的给定乘积集的双曲线“x*y=primorial”上或下方的点数。定义processRough():全局粗糙列表、平滑列表、primorial、countroughlist.sort()idx=len(平滑列表)-1对于粗略列表中的r:而r*smoothlist[idx]>primorial:idx=1计数+=idx+1roughlist[:]=[]#清除我们的粗略数字,我们处理了它们#粗略数字的生产者定义解算(idx,m):全局n,primorial,计数如果idx==n:粗略追加(m)如果长度(粗略列表)>=块大小:处理粗糙度()返回p=素数[idx]而m<=原始:求解(idx+1,m)m*=p#递归助手准备平滑数的初始列表定义解平滑(idx,m):全球首秀如果idx==小素数:平滑列表追加(m)返回p=素数[idx]而m<=基本值:solveSmooth(idx+1,m)m*=p素数=[]primorial=1n、 p=0,0而n-->