|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
s; O" i3 t2 ^2 l# ~; d
MATLAB源程序代码分享:MATLAB查找素数的源程序代码
7 @7 f3 Q1 v+ Y) e& A7 X: e; C' g' W% ]' J( F9 p: G
%% 自定义一段算法代码, 求 50 以内的素数
& G! Y$ k. v$ \( Tclear;clc;close all
* U. D9 r$ Q' i- V; h5 D7 Q) r9 gss=[]; % ss 用来标记是否为素数1 R" J* B# e, E& a* j+ u; y
pr=[2 3]; % pr 用来存放素数, 2 和 3 均为素数, 先存放在 pr 中1 K/ T% W8 i6 B1 N% H
for k=4:50 % 查找 4~50 里的素数/ Y* @4 e$ j) i/ N d
for m=2:fix(sqrt(k))
& V$ ^9 M( J+ ~! ? if mod(k,m)==0 % 判断 k 是否可以被 m 整除, 如果能被整除, 说明 k 不是素数, 用 ss=0 来标记
0 }. W4 G( V* J; u T ss=0;
6 \# U$ J# s! H) K! ^8 t break % 跳出内循环
1 `3 i6 p# f6 z' r: D( S else
~+ q4 h8 I& r+ k6 M0 @* I ss=1;
' H6 t' c J% i( ] end
2 P5 Q8 I2 N4 }8 G2 C end" N' E% w v, U8 l( ~
2 N7 ]% m1 O0 @7 j
if ss==1 % 如果 k 是素数, 则保存至 pr
! K; P) E3 T% u3 B* h6 ^* v pr=[pr,k];
3 K8 B7 O- j% |4 {8 O1 A! Z end
2 G* t& y e0 G8 W: M! ~end* Q: b* d8 o- q2 W4 i
3 u3 w" b: }/ g' j9 a5 k%% 使用 MATLAB 自带的 primes 函数, 直接求 50 以内的素数
* e0 t" j9 q; Z; v( j- zp=primes(50);1 i& R" g& Q1 W: S( o7 Y- B" `( ?
8 F5 o9 i: i8 B%% 比较两种方法的结果是否一致
, Z5 ]( @8 K' H6 i! D5 ]* \pr4 U, s" f! a! C
p
3 r6 }* p7 E9 `( x5 s1 { |
|