mwbr.net
当前位置:首页 >> 用mAtlAB循环结构找出1000以下所有的质数 >>

用mAtlAB循环结构找出1000以下所有的质数

% 用函数 >>primes(1000); % 用循环 R = []; for k = 1:1000 s = 0; for p = 1:k if mod(k,p)==0 s = s+1; end; end; if s==2 R = [R;k]; end; end;

>> primes(1000) ans = Columns 1 through 23 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 Columns 24 through 46 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 Columns...

你的关键字eles错了,是else 另外用你的算法,为提高效率,i/2可以用sqrt(i)

k=1; for ii=1:50 if isprime(ii)==1 s(k)=ii; k=k+1; end end s

程序如下: %输出1-1000的质数 '1-1000的质数有:' for m=1:1000 n=fix(sqrt(m))+1; for k=2:n if mod(m,k)==0,break, end %中止循环 end if k==n disp(m) end end 希望对你有帮助!

% 用函数 >>primes(1000); % 用循环 R = []; for k = 1:1000 s = 0; for p = 1:k if mod(k,p)==0 s = s+1; end; end; if s==2 R = [R;k]; end; end;

a=100:200; b=isprime(a); c=a(b) 这样就可以直接找到了

素数就是只能被1和本身整除的整数。j依次为100到1000之内的整数(每次循环+1),i为从2到j-1的依次+1的整数,判断j能否被i整除,若都不能则j即为素数,记下标志位flag,并将j计入数组prime中。输出prime

C = []; for i = 100 : 200 if isprime(i) C = [C i]; end end

% 主函数function test()x = [];for i=1:100flag = isprime(i);if flagx = [x,i];endenddisp('1-100之间的质数有:');xend% 子函数function out = isprime(n)flag = 1;for i=2:ceil(sqrt(n))if mod(n,i)==0flag = 0;break;endendout = flag;end

网站首页 | 网站地图
All rights reserved Powered by www.mwbr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com