一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数,例如13.
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/09/15 00:44:15
一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数,例如13.
请找出所有x位的绝对素数的数量.
输入x(x<=5)
输入样例:
1
输出样例:
4
请找出所有x位的绝对素数的数量.
输入x(x<=5)
输入样例:
1
输出样例:
4
var
a,k,i,w,sum,x:longint;
s:array[1..8363]of longint;
e:array[1..8363]of boolean;
st:string;
b:array[1..5]of char;
flag:array[0..9]of boolean;
c:array[1..120]of string;
procedure search(depth:integer);
var i,t:integer;
begin
if(depth>a) then
begin
inc(x);
for i:=1 to a do c[x]:=c[x]+b[i];
exit;
end;
for i:=1 to a do
if flag[i]=false then
begin
b[depth]:=st[i];
flag[i]:=true;
search(depth+1);
flag[i]:=false;
end;
end;
function erfen(o:string):boolean;
var
m,head,tail,j:longint;
begin
val(o,m);
head:=1;
tail:=w;
j:=trunc((head+tail)/2);
repeat
if s[j]=m then exit(false)
else
if s[j]>m then
begin tail:=j-1; j:=trunc((head+tail)/2) end
else if s[j]tail);
exit(true);
end;
procedure checks(w:longint);
var
i,j:longint;
begin
for i:=1 to w do
begin
str(s[i],st);
x:=0;
search(1);
for j:=1 to k do
if erfen(c[j]) then e[i]:=false;
for j:=1 to k do
c[j]:='';
end;
end;
function check(w:longint):boolean;
var
i:longint;
begin
for i:=2 to round(sqrt(w)) do
if w mod i =0 then exit(false);
exit(true);
end;
procedure trys(a:longint);
var
i,j,head,tail:longint;
begin
tail:=9;
head:=1;
w:=0;
for i:=1 to a-1 do
begin
head:=head*10;
tail:=tail*10+9;
end;
for i:=head to tail do
if check(i) then begin inc(w);s[w]:=i; end;
checks(w);
for i:=1 to w do
if e[i] then inc(sum);
write(sum);
end;
begin
k:=1;
fillchar(e,sizeof(e),true);
readln(a);
for i:=2 to a do
k:=k*i;
if a=1 then write(4)
else if a
a,k,i,w,sum,x:longint;
s:array[1..8363]of longint;
e:array[1..8363]of boolean;
st:string;
b:array[1..5]of char;
flag:array[0..9]of boolean;
c:array[1..120]of string;
procedure search(depth:integer);
var i,t:integer;
begin
if(depth>a) then
begin
inc(x);
for i:=1 to a do c[x]:=c[x]+b[i];
exit;
end;
for i:=1 to a do
if flag[i]=false then
begin
b[depth]:=st[i];
flag[i]:=true;
search(depth+1);
flag[i]:=false;
end;
end;
function erfen(o:string):boolean;
var
m,head,tail,j:longint;
begin
val(o,m);
head:=1;
tail:=w;
j:=trunc((head+tail)/2);
repeat
if s[j]=m then exit(false)
else
if s[j]>m then
begin tail:=j-1; j:=trunc((head+tail)/2) end
else if s[j]tail);
exit(true);
end;
procedure checks(w:longint);
var
i,j:longint;
begin
for i:=1 to w do
begin
str(s[i],st);
x:=0;
search(1);
for j:=1 to k do
if erfen(c[j]) then e[i]:=false;
for j:=1 to k do
c[j]:='';
end;
end;
function check(w:longint):boolean;
var
i:longint;
begin
for i:=2 to round(sqrt(w)) do
if w mod i =0 then exit(false);
exit(true);
end;
procedure trys(a:longint);
var
i,j,head,tail:longint;
begin
tail:=9;
head:=1;
w:=0;
for i:=1 to a-1 do
begin
head:=head*10;
tail:=tail*10+9;
end;
for i:=head to tail do
if check(i) then begin inc(w);s[w]:=i; end;
checks(w);
for i:=1 to w do
if e[i] then inc(sum);
write(sum);
end;
begin
k:=1;
fillchar(e,sizeof(e),true);
readln(a);
for i:=2 to a do
k:=k*i;
if a=1 then write(4)
else if a
如果一个自然数是素数,且它的数字位置经过对换后仍为素数,则称为绝对素数,例如13.试求出所有二位绝对素数
一个素数,当它的数字位置对换以后仍为素数,这样的素数称为绝对素数.编写出一个程序,求出所有的绝对素数.
帮忙用C语言编程除1和它本身外,不能被其它整数整除的正整数称为素数(注:1不是素数,2是素数).若两素数之差为2 ,则称
一个两位素数,交换其各位与十位上的数字仍为素数,这样的数有几个
VB求输入任意一个正整数,若该数不是一个素数,则找出一个大于它的最小素数.
VB输入任意一个正整数,若该数不是一个素数,则找出一个大于它的最小素数
一个素数肯定与比它小的任意非零自然数互质这句话对吗
任意输入一个偶数,请装它分解为两个素数之和.【不要c语言,就要数字这样的】
pascal纯粹素数纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素
编写程序输出100到10000以内的所有超级素数.所谓超级素数就是一个数本身是素数,从右依次去掉一位数字后所得的数还为素
设计一个算法,判断给出的自然数是否为素数
一个素数的3倍与另一个素数的2倍之和为100,这两个素数的积是?