100以内的无暇素数
一个两位整数 A 本身是素数,若将其个位数字与十位数字交换,得到一个新的两位数 B, 而 B 也是素数,我们则称 A 为无暇素数。 例如:31是素数,个位数字与十位数字交换后得到13,也是素数。所以31是无暇素数。
依你的意思,应该是11到99之间的数吧.
VAR I:INTEGER;
FUNCTION IS(X:INTEGER):BOOLEAN; //定义IS函数求X是否为素数
VAR I:INTEGER;
BEGIN
IS:=FALSE; //先置否
FOR I:=2 TO TRUNC(SQRT(X)) DO
IF X MOD I=0 THEN exit; //不是负数则返回
is:=true;
END;
BEGIN
FOR I:=11 TO 99 DO
if is(i) and is((i mod 10)*10+i div 10) then WRITELN(I,' 是无暇素数'); //判断A与交换后的B是否都为素数,输出
END.
热门标签: