当前位置: 首页 > news >正文

做系统之前的网站收藏在哪里看网站如何优化排名

做系统之前的网站收藏在哪里看,网站如何优化排名,杭州商业空间设计公司,手机怎么做网站卖东西题目链接 Leetcode.866 回文质数 rating : 1938 题目描述 给你一个整数 n n n ,返回大于或等于 n n n 的最小 回文质数。 一个整数如果恰好有两个除数: 1 1 1 和它本身,那么它是 质数 。注意, 1 1 1 不是质数。 例如&#xf…

题目链接

Leetcode.866 回文质数 rating : 1938

题目描述

给你一个整数 n n n ,返回大于或等于 n n n 的最小 回文质数

一个整数如果恰好有两个除数: 1 1 1 和它本身,那么它是 质数 。注意, 1 1 1 不是质数。

  • 例如, 2 、 3 、 5 、 7 、 11 2、3、5、7、11 235711 13 13 13 都是质数。

一个整数如果从左向右读和从右向左读是相同的,那么它是 回文数

  • 例如, 101 101 101 12321 12321 12321 都是回文数。

测试用例保证答案总是存在,并且在 [ 2 , 2 × 1 0 8 ] [2, 2 \times 10^8] [2,2×108] 范围内。

示例1:

输入:n = 6
输出:7

示例2:

输入:n = 8
输出:11

示例3:

输入:n = 13
输出:101

提示:
  • 1 ≤ n ≤ 1 0 8 1 \leq n \leq 10^8 1n108

解法:数学 + 判断质数

对于 回文数 ,我们可以得出这么一个结论:任何一个大于 11 11 11 的偶数长度的回文数,一定是 11 11 11 的倍数。

证明如下:

  • 1 0 0 = 1 m o d 11 = 1 10 ^ 0 = 1 \ mod \ 11 = 1 100=1 mod 11=1
  • 1 0 1 = 10 m o d 11 = 10 10 ^ 1 = 10 \ mod \ 11 = 10 101=10 mod 11=10
  • 1 0 2 = 100 m o d 11 = 1 10 ^ 2 = 100 \ mod \ 11 = 1 102=100 mod 11=1
  • 1 0 3 = 1000 m o d 11 = 10 10 ^ 3 = 1000 \ mod \ 11 = 10 103=1000 mod 11=10
  • 1 0 4 = 10000 m o d 11 = 1 10 ^ 4 = 10000 \ mod \ 11 = 1 104=10000 mod 11=1

根据数学归纳法,我们可以得出这样的结论:

  • n n n 为偶数,那么 1 0 n m o d 11 = 1 10 ^ n \ mod \ 11 = 1 10n mod 11=1
  • n n n 为奇数,那么 1 0 n m o d 11 = 10 10 ^ n \ mod \ 11 = 10 10n mod 11=10

假设回文数 P P P 一共有 2 n 2n 2n 位,从高到低分别为 a 1 a 2 a 3 a 4 . . . a n a n a n − 1 . . . a 2 a 1 a_1a_2a_3a_4...a_na_na_{n-1}...a_2a_1 a1a2a3a4...ananan1...a2a1

将其转换为十进制的形式如下:

P = a 1 × 1 0 2 n − 1 + a 2 × 1 0 2 n − 2 + . . . + a n × 1 0 n + a n × 1 0 n − 1 + . . . + a 2 × 10 + a 1 P = a_1\times10^{2n-1}+a_2\times10^{2n-2}+...+a_n\times10^n+a_n\times10^{n-1}+...+a_2\times10+a_1 P=a1×102n1+a2×102n2+...+an×10n+an×10n1+...+a2×10+a1

如果对回文数 P P P 11 11 11,我们可以得到如下的结果:

P = a 1 × 10 + a 2 × 1 + a 3 × 10 + . . . a n × 10 + a n × 1 + . . . + a 2 × 10 + a 1 P = a_1 \times 10 + a_2\times1+a_3\times10+...a_n\times10+a_n\times1+...+a_2\times10+a1 P=a1×10+a2×1+a3×10+...an×10+an×1+...+a2×10+a1

将其整理一下得到如下结果:
P = a 1 × 11 + a 2 × 11 + a 3 × 11 + . . . + a n × 11 P = a_1 \times 11 + a_2\times11+a_3\times11+...+a_n\times11 P=a1×11+a2×11+a3×11+...+an×11

可以发现在对 P P P 11 11 11 的基础之上,剩下的余数依旧是 11 11 11说明 11 11 11 可以整除 P P P,也就是 P P P 11 11 11 的倍数。

根据以上的证明,我们可以得出结论:

  • 如果 n ≤ 11 n \leq 11 n11,那么只需要在 [ 2 , 11 ] [2, 11] [2,11] 中找到第一个大于等于 n n n 的质数返回即可。
  • 如果 n > 11 n > 11 n>11,因为偶数长度的回文数全都不是质数,所以我们只需要判断奇数长度的回文数。由于是回文数,所以我们只需要获取前一半,后一半直接拼接上即可。所以只需要在 [ 10 , 19999 ] [10, 19999] [10,19999] 找到第一个大于等于 n n n 的回文质数 x x x 即可。

时间复杂度: O ( n 3 4 ) O(n^\frac{3}{4}) O(n43)

C++代码:

class Solution {
public:bool check(int x){if(x < 2) return false;for(int i = 2;i * i <= x;i++){if(x % i == 0) return false;}return true;}int primePalindrome(int k) {if(k <= 11){for(int i = 2;i <= 11;i++){if(i >= k && check(i)) return i;}}else{for(int i = 10;i <= 19999;i++){string s = to_string(i);int n = s.size();for(int i = n - 2;i >= 0;i--) s.push_back(s[i]);int x = stoi(s);if(x >= k && check(x)) return x;}            }return -1;}
};

Python3代码:

def check(x: int) -> bool:if x < 2:return Falsei = 2while i * i <= x:if x % i == 0:return Falsei += 1return Trueclass Solution:def primePalindrome(self, k: int) -> int:if k <= 11:for i in range(2, 12):if i >= k and check(i):return ielse:for i in range(10, 20000):s = str(i)n = len(s)s = s + s[:n - 1][::-1]x = int(s)if x >= k and check(x):return xreturn -1
http://www.tj-hxxt.cn/news/125227.html

相关文章:

  • 可靠的手机网站建设百度搜索高级搜索
  • 四川仁厚建设集团有限公司seo建站是什么意思
  • 宝思哲手表网站东莞网络推广招聘
  • 中国工程建设焊接协会网站百度搜索关键词排名优化
  • 做任务赚钱的正规网站百度搜索入口网址
  • 自己有云主机 怎么网站备案品牌运营策划方案
  • 深圳微商城网站制作东莞网站建设优化诊断
  • 网站开发公司分析专业的网站优化公司排名
  • 定制网络开发流程优化营商环境的措施建议
  • 网站建设怎样设置动态背景百度竞价推广收费标准
  • 阜宁城乡建设局网站全网营销推广
  • 长沙专门做网站公司有哪些黄石seo诊断
  • 有没有专做零食批发的网站免费域名注册永久
  • 合肥站建设百度竞价app
  • flask做的网站深圳seo优化外包
  • 常州中环做网站多少钱短视频平台推广方案
  • 儿童 网站 设计欣赏网站大全
  • wordpress 评论 不好seo推广排名重要吗
  • 把网站做成app的软件下载短视频推广平台有哪些
  • 宁波网站制作维护个人如何在百度上做广告
  • 电子商务商城网站建设怎么把网站排名排上去
  • 做网站编程的待遇关联词有哪些 全部
  • 怎么做网站页面营业推广是什么
  • 可以做简单小活动的网站营销策划公司名称
  • 上海专业做网站的公司有哪些seo优化关键词分类
  • 武汉个人做网站百度浏览器网址
  • 网页设计与网站建设指标点台州做优化
  • 学会python做网站外贸软件
  • 青岛企业做网站网站设计制作教程
  • 个人域名可以做公司网站么最近热搜新闻事件