.采用matlab程序设计语言实现判断一个给定的数是否是素数

.采用matlab程序设计语言实现判断一个给定的数是否是素数,第1张

不是有 函数 isprime 嘛

代码示例:(求0—100之间的所有素数

clc;

clear all;

a = 0:100; %0-100的向量

b = isprime(a); %判断是否为素数

ind = find(b); %返回不是0的下标位置

a(ind)

%%%%%%%my_funcm%%%%%%%%%%%

function y=my_func(x)

t=round(x/2);

y=1;

for i=2:t

if round(x/i)==x/i

y=0;%不是素数

break;

end

end

end

%%%%%%%%%%%%%%%%%%

%以下程序在命令窗口执行

x=input('x=');

if my_func(x)==0

disp('不是素数');

else

disp('是素数');

end

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

flag是个标志位,用来判断当前的m是不是质数,while语句穷举了m是否能被2到m-1整除也就是能否被i到j整除,当找到有能整除的情况直接跳出while,下面的if语句也通不过,直接就来到for循环,判断下一个数是否为素数。当执行完while都没有找到整除,那么此时flag不会被置为0,if语句通过,把素数保存在一个矩阵prime中,打印结果,n是用来计数的告诉你这是第几个素数。

for m=101:1:200%遍历101至200的数

k=fix(sqrt(m));%求出某个数较小因子的最大值

for i=2:k+1 %因子遍历

if rem(m,i)==0;%对求余数

break%如果能被整除,则终止遍历

end

end

if i>=k+1 %当遍历的因子大于等于K+1时,也就是上面那个循环找不到余数为0的i

disp(int2str(m))%当找不到令m余数为0的i时,即为素数,显示

end

end

以上就是关于.采用matlab程序设计语言实现判断一个给定的数是否是素数全部的内容,包括:.采用matlab程序设计语言实现判断一个给定的数是否是素数、matlab求一个数是否为素数,再编写一主程序(脚本文件),要求通过键盘输入一个整数,然后判断其是否为素、用Matlab,求[0, 1000]以内的全部素数。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10625313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存