|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
' t7 D1 _- r. W$ m: s$ a T5 uMATLAB源程序代码分享:MATLAB查找素数的源程序代码7 B9 k( b# ]% s4 D/ w. G& Q
$ O) O" p0 J# {/ L5 D) u+ H( s0 h%% 自定义一段算法代码, 求 50 以内的素数
* N+ k6 ?4 g2 n: f! mclear;clc;close all- q' C+ K: x. z" ^
ss=[]; % ss 用来标记是否为素数
& ~; m2 n" V; y9 f5 S& x$ ypr=[2 3]; % pr 用来存放素数, 2 和 3 均为素数, 先存放在 pr 中8 H" M% D+ V) U; c6 k) h
for k=4:50 % 查找 4~50 里的素数0 V- X; i& |7 J+ c
for m=2:fix(sqrt(k)); W0 m w) q8 ^
if mod(k,m)==0 % 判断 k 是否可以被 m 整除, 如果能被整除, 说明 k 不是素数, 用 ss=0 来标记
4 V6 r2 V$ ]) f2 a6 J% r0 [ ss=0;
" j- K) b% s2 f' ~ break % 跳出内循环9 N/ [1 H0 c0 n1 R6 z- D" L
else
; |5 w6 i8 `; X' k) ~; i! }, J ss=1;% ?( `+ W7 h/ ~0 G) [" Z4 e
end
5 j# |3 k/ n3 c' h end; f& X! Y9 F4 {( _1 P# x, V9 N" t6 S
- x0 ?1 l( V1 a l+ | if ss==1 % 如果 k 是素数, 则保存至 pr
. @* }% t) G- K( u8 n! u' a6 s pr=[pr,k];6 X5 Z$ x0 {+ Z$ Z
end
" h' o% g, r/ g" Eend. v. R( h7 Z( H# j
) U$ v$ T9 V0 T. w f7 s* ~% J7 g%% 使用 MATLAB 自带的 primes 函数, 直接求 50 以内的素数
" F9 K, Z! k, Wp=primes(50);
/ i1 w$ e1 p3 V+ N- P. x( ?+ V8 X+ f( e
%% 比较两种方法的结果是否一致
3 W1 N& s% z5 V7 Opr' S/ f3 P) q% e: _- K/ C
p
6 y" V9 c! l) U; b0 [; N |
|