赞
踩
可逆素数:一个数本身和它各位数值颠倒顺序后得到的数仍为素数,如113,311.
求1–900之间的所有可逆素数。
分析:因为要判断一个数和它顺序颠倒后的数是不是素数,所以我们写一个方法判断是不是素数,然后再写一个将数据颠倒顺序的方法。
反序:借助字符串实现反序。
(我发现字符串是比较万能的,比如我们要求一个整数有多少位,我们可以把它和一个空的字符串连接然后求字符串的长度,得到的就是这个整数的长度。同样,在这里我们把数值转成字符串,然后再利用StringBuilder的reverse方法反转字符串,最后再把字符串转成整型。)
代码如下:
package _4InterestingPrime; public class _4_4 { public static void main(String[] args) { int count=0; for(int i=2;i<1000;i++){ //判断这个数和倒叙后的数是不是素数 if(isPrime(i)&&isPrime(Reverse(i))){ System.out.print(i+" "); count++; if(count%10==0){ System.out.println(); } } } } //判断是不是素数 public static boolean isPrime(int n){ for(int i=2;i<=Math.sqrt(n);i++){ if(n%i==0){ return false; } } return true; } //反转字符串的方法,并且转成整型值 public static int Reverse(int n){ String str=n+""; String reverse=new StringBuffer(str).reverse().toString(); //字符串转成整型 int number=Integer.parseInt(reverse); return number; } }
结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。