MATLAB 函数 判断一个数是否为素数

通过素数的性质来判断输入的数是否为素数。

素数的一条重要性质是,“素数=6*i±1”有正整数解,本函数利用的正是该性质。

function  SushuJudge=fzz22(x)
%fzz22(x)函数用于判断x是否是素数
%当SushuJudge的返回值为1时,代表输入的数是素数
%当SushuJudge的返回值为0时,代表输入的数不是素数

x=input('x = ');
syms s t
s=rem(x-1,6);
t=rem(x+1,6);
if x<=1;
    SushuJudge=0;
    fprintf('x不是素数');
    return;
elseif s==0
    SushuJudge=1;
    fprintf('x是素数\n');
    return;
elseif t==0
    SushuJudge=1;
    fprintf('x是素数\n');
    return;
elseif s~=0 t~=0;
    SushuJudge=0;
    fprintf('x不是素数\n');
    return;
end
end

在编写该函数的过程中,需要理解的是:

1.虽然rem和mod均可以取余,但是,rem取余的结果符号与被取余数保持一致,而mod取余的结果符号与取余数保持一致,接下来举个粒子。

>>rem(-10,3);

ans=-1

>>mod(-10,3);

ans=2

>>rem(36,-5)

ans=1

>>mod(36,-5)

ans=-4

2.if函数结束之后,另起一行输入end。

3.不等号为“~=”。

上一篇:网格布局


下一篇:利用SSH端口转发实现远程访问内网主机远程桌面(一) 建立SSH转发