通过素数的性质来判断输入的数是否为素数。
素数的一条重要性质是,“素数=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.不等号为“~=”。