|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
7 A' z4 i1 M, A( [' ]MATLAB源程序代码分享:MATLAB查找素数的源程序代码
3 |7 t( b* D1 k+ e
! t0 l$ X5 q. R8 M( f) J) F%% 自定义一段算法代码, 求 50 以内的素数
' K4 [' r; }1 k7 [( x& x9 sclear;clc;close all
% r& o9 _. s2 _% S" Jss=[]; % ss 用来标记是否为素数4 U4 Z4 t7 ?3 [
pr=[2 3]; % pr 用来存放素数, 2 和 3 均为素数, 先存放在 pr 中
2 \7 G$ i" A; x; e o. g) Y Gfor k=4:50 % 查找 4~50 里的素数. S' z( J& f a) U
for m=2:fix(sqrt(k))# Y$ l) X' T) v1 J$ z* X
if mod(k,m)==0 % 判断 k 是否可以被 m 整除, 如果能被整除, 说明 k 不是素数, 用 ss=0 来标记
% T3 A1 _% p4 T1 r9 `3 ?; q: O ss=0;
* x/ c3 a+ v# }/ L& y6 d8 ]" z break % 跳出内循环
) G) U" s( I* y; j5 L+ x+ K; ?& R else
+ A& ~& O6 ]5 o9 o7 J& P& p4 q ss=1;
" C- ~: w. |6 O: {! z; `' u end
" b. K2 B9 J( b8 {8 T& x6 Y end4 C P* j6 e3 o* B" V3 ~
5 A9 N% l- U) K6 N6 |. k ]7 C4 X if ss==1 % 如果 k 是素数, 则保存至 pr
9 h( |0 y: p$ I$ V2 e0 L pr=[pr,k];7 i+ W+ i- w( u; L% k; I- \
end
7 b- a+ |' z2 n- D! jend; S: r# B4 X ~7 f0 d+ e
' V( Y$ V2 a4 V1 }%% 使用 MATLAB 自带的 primes 函数, 直接求 50 以内的素数" i# {; j6 g! d2 S
p=primes(50);( Z8 N1 B! ^7 k3 M5 t' k
+ y( k* ?/ [+ _5 q! S/ Y0 H
%% 比较两种方法的结果是否一致
9 _# [) b a7 }* c* qpr
- U7 {3 i& {$ ~p
/ [# ~. a2 a; p; @) c8 w |
|