|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
$ {! ^ R7 z# N& f% i
MATLAB源程序代码分享:MATLAB查找素数的源程序代码
/ n! n) l- S" d( h* J8 v& d) z; w: H2 F c( X; v) V
%% 自定义一段算法代码, 求 50 以内的素数3 u+ U d- s. L; o
clear;clc;close all. S' F9 Q9 R6 G
ss=[]; % ss 用来标记是否为素数' m5 ^ ]: ?2 x X) l7 l
pr=[2 3]; % pr 用来存放素数, 2 和 3 均为素数, 先存放在 pr 中% Q/ n* G3 A' B3 Z% P
for k=4:50 % 查找 4~50 里的素数# B. `0 Z! k1 n5 M4 \
for m=2:fix(sqrt(k)); W4 r3 _( S6 u
if mod(k,m)==0 % 判断 k 是否可以被 m 整除, 如果能被整除, 说明 k 不是素数, 用 ss=0 来标记, d( L& ^8 f, K X% V2 K& o s
ss=0; 6 g# v4 j' ^9 W( P! [, ?: P
break % 跳出内循环
. M% V; e5 m5 x4 {/ ~+ l+ F else ) M! i' w: V2 \: t
ss=1;0 I( s/ a2 Z: `9 k$ ?
end
! I9 b# C1 m/ g5 v6 E- D1 K1 h end5 P0 f u0 x+ I" B7 U
6 W+ o" Q! X/ J3 @ h* b# o if ss==1 % 如果 k 是素数, 则保存至 pr$ d- D/ }) a0 V% O
pr=[pr,k];
7 P7 B! N# d+ @ r8 ^1 D end5 u4 s7 _3 P. ~+ \# C' X
end3 t( {9 E) Z- h( w0 D, h& {
x8 Q( M: J5 c" O%% 使用 MATLAB 自带的 primes 函数, 直接求 50 以内的素数( N3 c4 j" u" b1 ^
p=primes(50);" ]( v! R2 q6 ]& b ?
1 E% F/ B2 O Y _
%% 比较两种方法的结果是否一致- \) l" `2 q' ~
pr8 M' O, p, V; @
p
0 b6 s3 F0 k* l) x |
|