void dfs(int dept,LL nn,LL fnum,int index) { if(fnum>k)return ; ///if(nn>Linf) return ; if(fnum==k&&ans>nn) ans=nn; for(int i=1; i<=index; i++) { if((ans<(double)nn*p[dept])||(fnum*(i+1)>k)) break; nn*=p[dept]; if(k%(fnum*(i+1))) continue;///剪枝 dfs(dept+1,nn,fnum*(i+1),i); } }
反素数()
最新推荐文章于 2024-05-24 15:53:26 发布
&spm=1001.2101.3001.5002&articleId=48848307&d=1&t=3&u=ca71e4db9b584a4da5d2bbfbb0dfe6fd)
765

被折叠的 条评论
为什么被折叠?



