第六章第二十七题(反素数)(Emirp)

第六章第二十七题(反素数)(Emirp)

  • **6.27(反素数)反素数(反转拼写的素数)是指一个非回文素数,将其反转之后也是一个素数。例如:17是一个素数,而31也是一个素数,所以17和71是反素数。编写程序,显示前100个反素数。每行显示10个,并且数字间用空格隔开,如下所示:
    13 17 31 37 71 73 79 97 107 113
    149 157 167 179 199 311 337 347 359 389

    **6.27(Emirp)An emirp (prime spelled backward) is a nonpalindromic prime number whose reversal is also a prime. For example, 17 is a prime and 71 is a prime, so 17 and 71 are emirps. Write a program that displays the first 120 emirps. Display 10 numbers per line, separated by exactly one space, as follows:
    13 17 31 37 71 73 79 97 107 113
    149 157 167 179 199 311 337 347 359 389
  • 参考代码:
package chapter06;

public class Code_27 {
    public static void main(String[] args) {
        int count = 0;
        for (int i = 2;count <= 100;i++){
            if (isPrime(i) && isPrime(reverse(i)) && !isPalindrome(i)){
                System.out.print(i + " ");
                count++;
                if (count % 10 == 0)
                    System.out.print("\n");
            }
        }
    }
    public static boolean isPalindrome(int number) {
        return reverse(number) == number;
    }
    public static int reverse(int number) {
        int reverseNumber = 0;
        do {
            reverseNumber = reverseNumber * 10 + number % 10;
            number /= 10;
        }while(number > 0);
        return reverseNumber;
    }
    public static boolean isPrime(int number) {
        for(int i = 2;i <= Math.sqrt(number);i++)
            if(number % i == 0)
                return false;
        return true;
    }
}

  • 结果显示:
13 17 31 37 71 73 79 97 107 113 
149 157 167 179 199 311 337 347 359 389 
701 709 733 739 743 751 761 769 907 937 
941 953 967 971 983 991 1009 1021 1031 1033 
1061 1069 1091 1097 1103 1109 1151 1153 1181 1193 
1201 1213 1217 1223 1229 1231 1237 1249 1259 1279 
1283 1301 1321 1381 1399 1409 1429 1439 1453 1471 
1487 1499 1511 1523 1559 1583 1597 1601 1619 1657 
1669 1723 1733 1741 1753 1789 1811 1831 1847 1867 
1879 1901 1913 1933 1949 1979 3011 3019 3023 3049 
3067 
Process finished with exit code 0

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值