10亿以内回文质数算法

爱凌寒 爱凌寒 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
前天在站内看见有人发这样的帖子,这里贴上自己的代码仅供参考。
希望大牛能指出其中的不足,让小子也学学。

package org.michael;

import java.util.ArrayList;
import java.util.List;

public class Test10Y {

/**
* 10Y内的回文质数
* @param strings
*/
public static void main(String... strings) {
long time = System.currentTimeMillis();
System.out.println("now time:" + time+" start........................");
List list = new ArrayList();
for (int i = 0; i < 1000000000; i++) {
//筛掉偶数的回文数
if(i%2!=0){
boolean flag = runbackNum(i);
if(flag==true){
list.add(i);
// System.out.println("-->"+i);
}
}else{
continue;
}
}

System.out.println("end search the runbackNum.........................................................................");
System.out.println("use time:"+(System.currentTimeMillis()-time)/1000+" s");

int temp = list.size();
List listPrime = new ArrayList();
for(int i=0;i<temp;i++){
if(isPrime((Integer)list.get(i))){
listPrime.add(list.get(i));
}
}


System.out.println(listPrime.size());
System.out.println("***************************************************************************************************");
int lengthPrime = listPrime.size();
for(int i=0;i<lengthPrime;i++){
if(i%20==0){
System.out.println("");
}
System.out.print((Integer)listPrime.get(i)+" ");
}
System.out.println("totle time:" + (System.currentTimeMillis()-time)/1000+" s");
}

/**
* 判断回文数
* @param num
* @return
*/
private static boolean runbackNum(int num){
String str = num + "";
int length = str.length();
boolean flag = true;
if (length > 1) {
for (int j = 0; j < length / 2; j++) {
if (str.charAt(j) == str.charAt(length - j - 1)) {
flag = flag && true;
} else {
flag = flag && false;
break;
}
}
}
return flag;

}

/**
* 判断质数
* @param num
* @return
*/
private static boolean isPrime(int num){
boolean isPrime = true;
for(int j=2;j<Math.sqrt(num)+1;j++){
if(num%j==0){
isPrime=false;
break;
}
}
return isPrime;
}
}


...全文

相关推荐

评论 25
收藏 已收藏
分享
返回顶部
爱凌寒
Java SE 62,621 成员 307,251 内容