MATLAB判断一个数是否是质数

程序编好了,但是输入的不论质数合数都不能显示出来,请各位前辈指点一下,看看哪里出错了?

function [Ldiv,f]=prime(n)
% syntax: function [Ldiv,f]=prime(n)
% Check if n is prime
% Input:
% n: integer
% Output:
% Ldiv: logical; if Ldiv=true a divisor is found
% f: divisor (in case Ldiv=true)

% logical: a divisor is found
Ldiv=false;
% factor; start in while loop with value f=2
f=1;

% repeat in case no divisor is found (yet)
% AND f less than or equal to n-1
while ~Ldiv & f<=n-1
f=f+1;
if mod(n,f)==0
% a divisor is found
Ldiv=true;
end
end
% a divisor is found OR f is larger than n-1

if ~Ldiv
% no divisor is found, so n is prime
disp([num2str(n),' is prime'])
end

第1个回答  2009-12-07
t=isprime(X);
是求是否为质数的命令,你求一下吧,返回1则为质数

MATLAB判断一个数是否是质数
f=f+1;%在这里加,倘若按你原先的程序走的话,会碰到mod(n,n)==0这是一个恒成立的式子 end

matlab编程 判断一个数是否为质数 +框图
t=isprime(X); 如果返回值为1则为质数,为0则不是

怎样用matlab求出一个整数是质数
3、点击回车之后,就会看到以下画面,这个就求出素数的样子了,这样就解决了。

matlab中的isprime是什么?
isprime为一种函数,功能是判断素数。判断素数,质数公式,又称素数公式,在数学领域中,表示一种能够仅产生质数(素数)的公式。即是说,这个公式能够一个不漏地产生所有的质数,并且对每个输入的值,此公式产生的结果都是质数。由于质数的个数是可数的,因此一般假设输入的值是自然数集(或整数集及其它...

这个matlab程序里 flag和isprime什么意思
那么,下来就分析语句,对于 flag=isprime(i);来说,isprime是判断输入的数字i是不是质数的函数,如果是质数,就返回1,不是就返回0。那么,flag就相当于一个标识位,标识这个数字是不是质数。if flag x = [x,i];end如果是质数,则flag=1,那么就会走if分支,x=[x,i]的意义就是给结果x后面...

528491是质数吗
是质数。

求教高手!matlab如何定义小数都不是质数(prime)
质数:又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。自然数:用以计量事物的件数或表示事物次序的数 。 即用数码0,1,2,3,4,……所表示的数 。表示物体个数的数叫自然数。小数不是 自然数,所以不是质数。你的问题有点不明白。。。如果你想重写...

用matlab求100-1000内的素数,并求所有素数的和及平均值,下面的程序不是...
flag是个标志位,用来判断当前的m是不是质数,while语句穷举了m是否能被2到m-1整除也就是能否被i到j整除,当找到有能整除的情况直接跳出while,下面的if语句也通不过,直接就来到for循环,判断下一个数是否为素数。当执行完while都没有找到整除,那么此时flag不会被置为0,if语句通过,把素数保存在...

用matlab编写一个程序:求出200以内的质数,求!!!急!!!
主函数 function test()x = [];for i=1:200 flag = isprime(i);if flag x = [x,i];end end disp('1-200之间的质数有:');x end 子函数 function out = isprime(n)flag = 1;for i=2:ceil(sqrt(n))if mod(n,i)==0 flag = 0;break;end end out = flag;end ...

用matlab自编程序找出1到100中的质数,并把所有质数放到一个向量中
主函数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 ...

相似回答