第五届蓝桥杯——java c组 回文素数

本文探讨了如何计算五位数中同时满足回文数和素数双重属性的数字,即回文素数。通过定义判断素数和回文数的函数,使用循环遍历10000到99999之间的所有数字,找出符合条件的回文素数,并统计其总数。

10301是个5位的素数。它有个特点,把数字倒过来还是它本身,具有这样特征的素数,我们称之为:回文素数。

10501
10601
11311

这些都是5位的回文素数。

请你计算一下,像这样的5位数的回文素数,一共有多少个?

请填写这个表示个数的整数,注意不要写任何其它多余的内容,比如说明或解释文字,也不要列出所有的回文素数。
回文素数:既是回文数又是素数。
所以在找的时候需要两个判断条件:
1、回文数
2、素数
代码如下:

  public static void main(String[] args) {
	      Main test = new Main;
	        int count = 0;//count记录回文素数的个数。
	        for(int i = 10000;i < 100000;i++) {
	            if(test.judgePrime(i) && test.judgeReverse(i)) {
	                count++;
	            }
	        }
	        System.out.println(count);
	    }
	    //判断是否为素数
public boolean judgePrime(int n) {
	        boolean judge = true;
	        for(int i = 2;i <= n / 2;i++)
	            if(n % i == 0) {
	                judge = false;
	                break;
	            }
	        return judge;
	    }
	    //判断是否为回文数
	    public boolean judgeReverse(int n) {
	        StringBuffer s = new StringBuffer(""+n);
	        String s1 = "", s2 = "";
	        s1 = s.toString();
	        s2 = s.reverse().toString();
	        if(s1.equals(s2))
	            return true;
	        else
	            return false;
	    }
	}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值