当前位置:   article > 正文

Matlab练习---求某范围内的全部素数_matlab计算5到25之间素数

matlab计算5到25之间素数

利用筛选法求某范围内的全部素数

素数:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。

下面为Matlab命令窗口的截图
在这里插入图片描述
其中prime为脚本文件

下面为脚本文件prime.m

m = input('m=');
p = 1:m;
p(1) = 0;  % 表示1不是素数
for i = 2:sqrt(m)
    for j = 2*i:i:m
        p(j) = 0;
    end
end
n = find(p ~=0);
p(n)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

筛选法:
要得到不大于某个自然数m的所有素数,只要在2—m中将不大于(根号m)的素数的倍数全部划去即可。

下面为具体步骤:
1、先将1划掉(因为1不是素数也不是合数)。
2、用2去除它后面的各个数,把能被2整除的数划掉,即把2的倍数划掉。
3、用3去除它后面的各数,把3的倍数划掉。
4、分别用5…各数作为除数去除这些数以后的各数。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号