![]() |
求助:求所有三位的绝对素数的程序
这是我们的作业 但是自己编写了几个程序 运行结果都不对
一个自然数是素数,且它的各位数字位置经过任意对换之后仍为素数,则成为绝对素数。例如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 |
回复: 求助:求所有三位的绝对素数的程序
老师要你编个函数,没有那么复杂吧,看你写了好多,我给你个我以前编的:
function y=sushu_or_not(n) %y=sushu_or_not(n) %判断n是否是素数 %同isprime % if n==1 y=0; elseif n==2 y=1; else a=2:fix(n/2); b=rem(n,a); if all(b) y=1; else y=0; end end 然后你在100:999间找素数就可以了 |
回复: 求助:求所有三位的绝对素数的程序
首先还是要感谢对我的帮助 但你写的程序有错误 而且是求素数的 我要求的是"绝对"素数
|
回复: 求助:求所有三位的绝对素数的程序
绝对素数和素数不一样吗?这我还不知道,你告一下我。
|
所有时间均为北京时间。现在的时间是 05:08。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.