求4位的可逆素数
求4位的可逆素数
南桥北木 发表于10个月前
求4位的可逆素数
  • 发表于 10个月前
  • 阅读 3
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

public class Mao {

public static void main(String[] args) {
	int total=0;
	for(int i=1001;i<9999;i++){
		boolean ok=f(i);
		if(ok){
			boolean confirm=g(i);
			if(confirm){
				total++;
				System.out.println("符合条件:"+i);
			}
		}
		
	}
	
	System.out.println("总计:"+total/2+"对");
	
}
// 试商判别法

public static boolean f(int l) {

	if (l <= 1) {
		return false;
	}

	int max = (int) Math.sqrt(l);
	for (int i = 2; i < max + 1; i++) {
		if (l % i == 0) {
			return false;
		}
	}

	return true;
}

//判断逆序列是否满足条件
public static boolean g(int n){
	
	int m=n;
	int sum=0;
	int temp;
	temp=m%10;
	int flag;
	
	if(temp%2==0||temp==5){
		return false;
	}
	else{	
		flag=3;
		sum=(int) (sum+Math.pow(10, flag)*temp);
		m=m/10;       
		
		while(m>=10){
			
			flag--;
			
			temp=m%10;
			
			if(temp%2==0||temp==5){
				return false;
			}
			
			sum=(int) (sum+Math.pow(10, flag)*temp);
			m=m/10;
		}
		
		if(m%2==0||m==5){
			return false;
		}
		flag--;
		
		sum=(int) (sum+Math.pow(10,flag)*m);
		
	}
   
    boolean ok=f(sum);
    if(ok){
    	        	return true;
    }		
	return false;
}

}

//答案给的11个,个人认为有11对,每一个肯定成对出现,不可能是单数,欢迎相互讨论

共有 人打赏支持
粉丝 0
博文 109
码字总数 19397
×
南桥北木
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: