Day20.

复制代码
import java.util.Scanner;

class Main {
    public static boolean isPrime(int num) {
        if (num <= 1) {
            return false;
        }
        for (int i = 2; i * i <= num; i++) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }

    public static boolean isPalindrome(int num) {
        String str = String.valueOf(num);
        int left = 0, right = str.length() - 1;
        while (left < right) {
            if (str.charAt(left) != str.charAt(right)) {
                return false;
            }
            left++;
            right--;
        }
        return true;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int b = scanner.nextInt();

        for (int i = a; i <= b; i++) {
            if (isPalindrome(i) && isPrime(i)) {
                System.out.println(i);
            }
        }
    }
}
  • isPrime(int num) 方法用于判断一个整数是否为质数(素数)。它从2开始逐个检查num是否能被从2到sqrt(num)之间的任何整数整除,如果能,则返回false,否则返回true。这是一个常见的质数判断方法。

  • isPalindrome(int num) 方法用于判断一个整数是否为回文数。它将整数转换为字符串,然后使用双指针法来检查字符串是否为回文,即从字符串的两端向中间遍历,逐个比较字符是否相等。如果在遍历过程中发现不相等的字符,则返回false,否则返回true。

  • main() 方法首先通过Scanner类从标准输入读取两个整数a和b,表示查找回文质数的范围。然后,它使用一个for循环遍历从a到b之间的所有整数,对每个整数同时进行回文数和质数的检查,如果同时满足这两个条件,则将其打印输出。

相关推荐
春日见9 分钟前
E2E自驾规控30讲:环境搭建
开发语言·驱动开发·matlab·docker·计算机外设
念何架构之路14 分钟前
Go语言表达式的求值顺序
开发语言·后端·golang
zihao_tom16 分钟前
Springboot-配置文件中敏感信息的加密:三种加密保护方法比较
java·spring boot·后端
程序员buddha18 分钟前
Java面试八股文框架篇
java·开发语言·面试
毕设源码-钟学长27 分钟前
【开题答辩全过程】以 基于Java的医药进出口交易系统设计与实现为例,包含答辩的问题和答案
java·开发语言
Touch&28 分钟前
Windows11多个JDK版本(Java8、Java11、Java17、Java21)下载安装和切换
java·jdk·jdk多个版本切换
清水白石00832 分钟前
Python 性能优化全景解析:当 Big O 骗了你——深挖常数开销、内存与解释器黑盒
开发语言·python·性能优化
oi..35 分钟前
python Get/Post请求练习
开发语言·经验分享·笔记·python·程序人生·安全·网络安全
星夜夏空9937 分钟前
C语言进阶项目——搭建内存池
c语言·开发语言
帮我吧智能服务平台37 分钟前
装备制造企业售后服务数字化:从成本中心到利润中心背景
java·前端·制造