分析,这个题目本身不难,用数学方法很容易解出来,问题是当给的数据过大时,容易超时。
数学法:遍历所有数字,检查是不是回文串。如果是,检查是不是素数,如果当前数字长度为 8,可以跳过检查,因为不存在 8 长度的素数。

class Solution {public int primePalindrome(int N) {while(true){if(isPalindrome(N) && isPrime(N))return N;N++;if (10_000_000 < N && N < 100_000_000)//跳过长度为8的数字,不加这个判断数字太大易超时N = 100_000_000;}}public boolean isPalindrome(int N){if(N<0) {return false;}else if(N==0){return true;}else if(N%10==0){return false;}//下面是N>0且不为10的整数倍的情况int M = 0;int temp = N;while(temp!=0){M=M*10+temp%10;temp=temp/10;}return M==N;}public boolean isPrime(int N) {if (N < 2) return false;int R = (int) Math.sqrt(N);for (int d = 2; d <= R; ++d)if (N % d == 0)return false;return true;}
}

用于自行调试的.java文件

class primePalindrome866 {public static void main(String[] args) {int num = 9989900;System.out.println(primePalindrome(num));}public static int primePalindrome(int N) {while(true){if(isPalindrome(N) && isPrime(N))return N;N++;if (10_000_000 < N && N < 100_000_000)N = 100_000_000;}}public static boolean isPalindrome(int N){if(N==0){return true;}else if(N%10==0){return false;}//下面是N>0且不为10的整数倍的情况int M = 0;int temp = N;while(temp!=0){M=M*10+temp%10;temp=temp/10;}return M==N;}public static boolean isPrime(int N) {if (N < 2) return false;int R = (int) Math.sqrt(N);for (int d = 2; d <= R; ++d)if (N % d == 0)return false;return true;}
}

LeetCode——866.回文素数相关推荐

  1. leetcode —— 866. 回文素数

    求出大于或等于 N 的最小回文素数. 回顾一下,如果一个数大于 1,且其因数只有 1 和它自身,那么这个数是素数. 例如,2,3,5,7,11 以及 13 是素数. 回顾一下,如果一个数从左往右读与从 ...

  2. 《算法0基础100讲》(第7讲)素数判定——866.回文素数

    1.素数  <1>定义:  一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数.   <2>证明为素数 ...

  3. Java黑皮书课后题第6章:**6.27(反素数)反素数(反转拼写的素数)是指一个非回文素数,将其反转之后也是一个素数。编写程序,显示前100个反素数,每行显示10个,并且数字间用空格隔开

    6.27(反素数)反素数(反转拼写的素数)是指一个非回文素数,将其反转之后也是一个素数.编写程序,显示前100个反素数,每行显示10个,并且数字间用空格隔开 题目 题目描述 破题 代码 题目 题目描述 ...

  4. Java黑皮书课后题第6章:**6.26(回文素数)回文素数是指一个数同时为素数和回文数。编程程序,显示前100个回文素数,每行显示10个数,数字中间用一个空格隔开

    6.26(回文素数)回文素数是指一个数同时为素数和回文数.编程程序,显示前100个回文素数,每行显示10个数,数字中间用一个空格隔开 题目描述与运行示例 代码 题目描述与运行示例 6.26(回文素数) ...

  5. Python对区间内回文素数的判断

    from math import sqrtm,n = input().split() m = int(m) n = int(n) print("{}到{}之间的素数有:".form ...

  6. [模拟|数位] leetcode 9 回文数

    [模拟|数位] leetcode 9 回文数 1.题目 题目链接 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true ...

  7. 判断并输出打印前一百个回文素数,每行10个

    //eg:131 757像这样是回文素数 #include<iostream> #include<iomanip>                              / ...

  8. NUC1214 回文素数

    回文素数 时间限制: 1000ms 内存限制: 65536KB 问题描述 151 是一个回文素数,因为它既是一个素数又是回文数(回文数是指一个数 从左到右 和 从右到左 读的结果一样). 试写一个程序 ...

  9. Bailian3247 回文素数【素数+回文】(POJ NOI0113-11)

    问题链接:POJ NOI0113-11 回文素数. 回文素数 总时间限制: 5000ms 内存限制: 65536kB 描述 一个数如果从左往右读和从右往左读数字是相同的,则称这个数是回文数,如121, ...

最新文章

  1. ZooKeeper最佳指南--云平台技术栈11
  2. Paoding Rose学习(一)
  3. dbeaver导出表结构和数据_Oracle 导入导出表空间跟数据表通用操作笔记
  4. SpringAMQP--发布订阅模型介绍
  5. ubuntu 16.04 kvm 桥接模式创建虚拟机
  6. Summary Day30
  7. chrome 谷歌浏览器怎么添加Axure扩展
  8. 网络人的未来分享讲义_酒品看人品,未来酱分享饮酒识人技巧!谁是你值得深交的人?...
  9. pytorch学习笔记(二十一):Channels
  10. linq To DataTable
  11. java构造方法可以是私有的吗_Java中的构造函数可以私有吗?
  12. post url 后面跟参数_都2019年了,还问GET和POST的区别
  13. 学会这5种排版方式,设计能力分分钟就能提高
  14. MiniDP与HDMI的关系
  15. Cube(给出八个点,判断这八个点是否可以构成一个正方体)
  16. win10配置更新怎么关闭计算机,如何关闭win10系统自动更新功能?教你彻底关闭win10自动更新方法...
  17. 2020.8.25课堂笔记(Linux入门、常用命令)
  18. vue 项目中使 实现粒子动态 背景图
  19. 卫生统计学v是什么意思_卫生统计学名词解释
  20. 处理机调度——看这一篇就够了

热门文章

  1. [Phonegap+Sencha Touch] 移动开发77 Cordova Hot Code Push插件实现自己主动更新App的Web内容...
  2. Django 缓存系统
  3. Yii 2 美化 url
  4. 将Java应用程序本地编译为EXE的几种方法
  5. python常用正则表达式_Python3常用正则表达式
  6. aes-128算法加密_加密算法问题-人工智能中的一种约束满意问题
  7. python中locked_Python锁类| 带示例的locked()方法
  8. 日期setMinutes()方法以及JavaScript中的示例
  9. android 默认浏览器 视频播放 二维码,Android调用系统默认浏览器访问的方法
  10. lcd图片转二进制工具_辽宁2.8寸LCD屏价格,测距仪LCD显示屏_思迈微