本文共 831 字,大约阅读时间需要 2 分钟。
求助:求所有三位的绝对素数的程序
这是我们的作业 但是自己编写了几个程序 运行结果都不对
一个自然数是素数,且它的各位数字位置经过任意对换之后仍为素数,则成为绝对素数。例如113是绝对素数。试求所有三位的绝对素数。
(1) 请自己写一个判断一个数是否是素数的函数,函数定义如下:[primeNum]=myisprime(inputdata),其中,primeNum返回的是一个数组,如果输入的数组inputdata中的数为素数,则对应的primeNum中相应位置的元素为1,否则为0. 调用该函数,得到正确的结果。(2)试用matlab的内部函数isprime完成这一任务。
这是我编写的:
for i=100:999
j=2;
x=fix(i./100);
y=fix((i-x.*100)./10);
z=i-100.*x-10.*y;
while j<=sqrt(i)
if rem(i,j)==0
break;
end
j=j+1;
end
i=100.*x+10.*z+y;
j=2;
while j<=sqrt(i)
if rem(i,j)==0
break;
end
j=j+1;
end
i=100.*z+10.*y+x;
j=2;
while j<=sqrt(i)
if rem(i,j)==0
break;
end
j=j+1;
end
i=100.*z+10.*x+y;
j=2;
while j<=sqrt(i)
if rem(i,j)==0
break;
end
j=j+1;
end
i=100.*y+10.*x+z;
j=2;
while j<=sqrt(i)
if rem(i,j)==0
break;
end
j=j+1;
end
i=100.*y+10.*z+y;
j=2;
while j<=sqrt(i)
if rem(i,j)==0
break;
end
j=j+1;
end
fprintf('%d ',i);
end
转载地址:http://tldnv.baihongyu.com/