| 
 | 
	
    
 
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册  
 
x
 
9 \5 b+ Q: O3 q0 P 
MATLAB源程序代码分享:MATLAB查找素数的源程序代码7 \+ l- }! x4 k0 Z$ } 
- H) t% i% X; \+ S# @/ I 
%% 自定义一段算法代码, 求 50 以内的素数, F' g: H8 z& |: W  [0 i: x1 x 
clear;clc;close all' Q" A7 W) [2 O, s2 o/ p3 e$ T 
ss=[];          % ss 用来标记是否为素数 
* L  a5 W: |8 E& Z1 apr=[2 3];       % pr 用来存放素数, 2 和 3 均为素数, 先存放在 pr 中3 `- d, l1 B8 Z9 \" c0 r 
for k=4:50      % 查找 4~50 里的素数 
4 L. f4 ?% J0 T3 v: e    for m=2:fix(sqrt(k)) 
* P% u! i' m1 M  U  ~, l0 [        if mod(k,m)==0     % 判断 k 是否可以被 m 整除, 如果能被整除, 说明 k 不是素数, 用 ss=0 来标记 
7 Y7 _+ W/ u8 ~" X' R0 E5 r" K            ss=0;           
# f  t* `$ y( Y& u; o% V% j            break          % 跳出内循环 
2 |& G& D) d, U6 d        else 6 N) y# e4 o: G 
            ss=1; 
1 [2 G% m( \& \( C- `, Y+ }        end6 @( m/ _4 x9 }$ c1 @1 X, f 
    end 
% J9 b5 ?! q2 t    7 N" K& k8 W( ?0 ?" ]# t" E 
    if ss==1               % 如果 k 是素数, 则保存至 pr9 W2 Q+ e2 N1 s% W& ?, j; B/ z' D 
        pr=[pr,k];( q  x' I8 e2 \3 I' E5 k* I 
    end. b- i2 j1 J& k; a 
end; J# C. k; }6 K- ` 
 
7 ~& R+ K8 J% ^%% 使用 MATLAB 自带的 primes 函数, 直接求 50 以内的素数 
7 ^9 R( e% w0 w9 n  `& Wp=primes(50); 
+ O# {1 C2 G9 o 
" W" G' U$ d4 g! p/ E0 i%% 比较两种方法的结果是否一致9 c# u- e1 g* g: Z5 X. Q4 c/ v; [; t 
pr' C* ?( C9 a+ A 
p 
  a) O# j2 F3 \& o |   
 
 
 
 |