LeetCode——866.回文素数
分析,这个题目本身不难,用数学方法很容易解出来,问题是当给的数据过大时,容易超时。
数学法:遍历所有数字,检查是不是回文串。如果是,检查是不是素数,如果当前数字长度为 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.回文素数相关推荐
- leetcode —— 866. 回文素数
求出大于或等于 N 的最小回文素数. 回顾一下,如果一个数大于 1,且其因数只有 1 和它自身,那么这个数是素数. 例如,2,3,5,7,11 以及 13 是素数. 回顾一下,如果一个数从左往右读与从 ...
- 《算法0基础100讲》(第7讲)素数判定——866.回文素数
1.素数 <1>定义: 一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数. <2>证明为素数 ...
- Java黑皮书课后题第6章:**6.27(反素数)反素数(反转拼写的素数)是指一个非回文素数,将其反转之后也是一个素数。编写程序,显示前100个反素数,每行显示10个,并且数字间用空格隔开
6.27(反素数)反素数(反转拼写的素数)是指一个非回文素数,将其反转之后也是一个素数.编写程序,显示前100个反素数,每行显示10个,并且数字间用空格隔开 题目 题目描述 破题 代码 题目 题目描述 ...
- Java黑皮书课后题第6章:**6.26(回文素数)回文素数是指一个数同时为素数和回文数。编程程序,显示前100个回文素数,每行显示10个数,数字中间用一个空格隔开
6.26(回文素数)回文素数是指一个数同时为素数和回文数.编程程序,显示前100个回文素数,每行显示10个数,数字中间用一个空格隔开 题目描述与运行示例 代码 题目描述与运行示例 6.26(回文素数) ...
- Python对区间内回文素数的判断
from math import sqrtm,n = input().split() m = int(m) n = int(n) print("{}到{}之间的素数有:".form ...
- [模拟|数位] leetcode 9 回文数
[模拟|数位] leetcode 9 回文数 1.题目 题目链接 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true ...
- 判断并输出打印前一百个回文素数,每行10个
//eg:131 757像这样是回文素数 #include<iostream> #include<iomanip> / ...
- NUC1214 回文素数
回文素数 时间限制: 1000ms 内存限制: 65536KB 问题描述 151 是一个回文素数,因为它既是一个素数又是回文数(回文数是指一个数 从左到右 和 从右到左 读的结果一样). 试写一个程序 ...
- Bailian3247 回文素数【素数+回文】(POJ NOI0113-11)
问题链接:POJ NOI0113-11 回文素数. 回文素数 总时间限制: 5000ms 内存限制: 65536kB 描述 一个数如果从左往右读和从右往左读数字是相同的,则称这个数是回文数,如121, ...
最新文章
- ZooKeeper最佳指南--云平台技术栈11
- Paoding Rose学习(一)
- dbeaver导出表结构和数据_Oracle 导入导出表空间跟数据表通用操作笔记
- SpringAMQP--发布订阅模型介绍
- ubuntu 16.04 kvm 桥接模式创建虚拟机
- Summary Day30
- chrome 谷歌浏览器怎么添加Axure扩展
- 网络人的未来分享讲义_酒品看人品,未来酱分享饮酒识人技巧!谁是你值得深交的人?...
- pytorch学习笔记(二十一):Channels
- linq To DataTable
- java构造方法可以是私有的吗_Java中的构造函数可以私有吗?
- post url 后面跟参数_都2019年了,还问GET和POST的区别
- 学会这5种排版方式,设计能力分分钟就能提高
- MiniDP与HDMI的关系
- Cube(给出八个点,判断这八个点是否可以构成一个正方体)
- win10配置更新怎么关闭计算机,如何关闭win10系统自动更新功能?教你彻底关闭win10自动更新方法...
- 2020.8.25课堂笔记(Linux入门、常用命令)
- vue 项目中使 实现粒子动态 背景图
- 卫生统计学v是什么意思_卫生统计学名词解释
- 处理机调度——看这一篇就够了
热门文章
- [Phonegap+Sencha Touch] 移动开发77 Cordova Hot Code Push插件实现自己主动更新App的Web内容...
- Django 缓存系统
- Yii 2 美化 url
- 将Java应用程序本地编译为EXE的几种方法
- python常用正则表达式_Python3常用正则表达式
- aes-128算法加密_加密算法问题-人工智能中的一种约束满意问题
- python中locked_Python锁类| 带示例的locked()方法
- 日期setMinutes()方法以及JavaScript中的示例
- android 默认浏览器 视频播放 二维码,Android调用系统默认浏览器访问的方法
- lcd图片转二进制工具_辽宁2.8寸LCD屏价格,测距仪LCD显示屏_思迈微