主题:请教(MATLAB)绝对素数
sostupid
[专家分:0] 发布于 2007-10-13 19:59:00
一个自然数是素数,且它的各位数字位置经过任意对换后仍为素数,则称是绝对素数
输出3位数的绝对素数
提示:
比如127是三位众多素数中的一个,
% a=perms(num2str(127))产生下面的效果,
% a =
% 721
% 712
% 271
% 217
% 127
% 172
回复列表 (共3个回复)
沙发
weihui511324 [专家分:0] 发布于 2007-10-18 21:42:00
兄弟 我想问哈perms是函数麻??
怎么用啊??
我是初学的
板凳
blivfate [专家分:720] 发布于 2007-10-20 21:04:00
721不是一个素数,可以整除7
所以127不是一个绝对素数
function absolute_prime(n)
a=perms(num2str(n));
a=str2num(a);
b=zeros(1,length(a));
for i=1:length(a)
if isprime(a(i)),
b(i)=1;
end
end
c=find(b~=1);
if isempty(c),
for i=1:length(a),a(i),end;
else
msgbox('No Found!','Warning');
end
3 楼
blivfate [专家分:720] 发布于 2007-10-20 21:08:00
你还可以用下面的程序来寻找1到10000的绝对素数:
for i=1:10000
absolute_prime(i);
end
你会看到199 337 113等就是绝对素数
我来回复