当前位置:   article > 正文

matlab 求素数 (四种方法)(精)_matlab素数

matlab素数

法一:

clc;
clear;
m = linspace(1,100,100)
flag = 0;
res = 0;
for i = 3:length(m)
    for j = 2:i-1
        if mod(m(i),j) == 0
            flag = 1;
            break;
        else 
            flag = 0;
        end
    end
    if flag == 0
        r = [res,m(i)];
        res = r;
    end
end
r(2:length(r))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

法二(数据较大时挺好用,且代码简单)

clear
close all
clc
tic
x = [1:2:100000];
index = isprime(x);
x(~index)= []
toc
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

法三(数据量小时很快)

clear
close all
clc
tic
isPrime_num = 0;   
prime=[2 3];     
for i=2:100000
    for j=2:fix(i/2)
        if mod(i,j)==0
            isPrime_num=0;     
            break;    
        else 
            isPrime_num = 1;
        end
    end
    if isPrime_num == 1          
        prime=[prime,i];
    end
end
prime
toc
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

法四:

m = input ('Input a number ')
for i = 3:2:m
    for p = 2:2:i
        if rem(i,p) == 0
            break;
        else
            p=p+1;
        end
        if p == i
            disp(i);
        end
    end
    i=i+1;
end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/326373
推荐阅读
相关标签
  

闽ICP备14008679号