筛法求质数
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
procedure getprime;//筛法求质数 var i,j:longint; begin for i:=2 to trunc(sqrt(2*n) do//关键点只需筛 到开方 if p[i] then for j:=2 to n div i do p[i*j]:=false; prime[0]:=0; for i:=2 to n do if p[i] then begin inc(prime[0]); prime[prime[0]]:=i; point[i]:=prime[0]; end; end;
procedure count(number,e:longint);//求质因子 个数 var i:longint; begin i:=1; while not p[number] do begin while (number mod prime[i])=0 do begin m[i]:=m[i]+e; number:=number div prime[i]; end; inc(i); end; if numbe来自百度文库<>1 then m[point[number]]:=m[point[number]]+e; end;