热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

回文数或回文数是指一个像14641这样“对称”的数,即:将这个数的数字按相反的顺序重新排列后,所得到的数和原来的数一样。这里,“回文”是指像“妈妈爱我,我爱妈妈”这样的,正读反读都相同的单词或句子。

回文数或回文数是指一个像14641这样“对称”的数,即:将这个数的数字按相反的顺序重新排列后,所得到的数和原来的数一样。这里,“回文”是指像“妈妈爱我,我爱妈妈”这样的,正读反读都

回文数回文数是指一个像14641这样“对称”的数,即:将这个数的数字按相反的顺序重新排列后,所得到的数和原来的数一样。这里,“回文”是指像“妈妈爱我,我爱妈妈”这样的,正读反读都相同的单词或句子。

回文数在休闲数学领域备受关注。一个典型的问题就是,寻找那些具有某种特性,并且符合回文特征的数。例如:

  • 回文素数:2, 3, 5, 7, 11, 101, 131, 151,…技术图片?A002385
  • 回文完全平方数:0, 1, 4, 9, 121, 484, 676, 10201, 12321,…技术图片?A002779

巴克敏斯特·福乐在其着作《协同学》(Synergetics)中把回文数也叫做沙拉扎数(Scheherazade Numbers),沙拉扎是《一千零一夜》中那位讲故事的王妃、即宰相的女儿的名字。

直观地,在任意的进位制下都存在着无穷多个回文数。可以这样说明:在任意的基下,一个像101, 1001, 10001,… (即由一个1后接n个0再后接一个1)这样的数可组成一个无穷多项的序列,其各项全部都是回文数,因此这个基下的回文数有无穷多个(其中包括但不限于该序列中的无穷多个项)。

虽然通常是在十进制系统下来考虑回文数,但回文性的性质可推广用于任何记数系统中的自然数。考虑以 {\displaystyle b\ (b\geq 2)}技术图片 为基的数 {\displaystyle n\ (ngt;0)}技术图片,在基 {\displaystyle b}技术图片 下,{\displaystyle n}技术图片 可按标准方式表示为 {\displaystyle k+1}技术图片 个数字 {\displaystyle a_{i}}技术图片,即:

{\displaystyle n=\sum _{i=0}^{k}a_{i}b^{i}}技术图片

其中,如惯例,对所有 {\displaystyle i}技术图片 都要求 {\displaystyle 0\leq a_{i}\leq b}技术图片,且 {\displaystyle a_{k}\neq 0}技术图片。 则 {\displaystyle n}技术图片 称为回文数,当且仅当对所有 {\displaystyle i}技术图片 都有{\displaystyle a_{i}=a_{k-i}}技术图片。零在任何基下均写作 0 并由定义认为它也是回文数。

另一种等价的定义如下:在任意固定的基 {\displaystyle b}技术图片 下,数{\displaystyle n}技术图片称为回文的当且仅当:

  • {\displaystyle n}技术图片是单个数字,或
  • {\displaystyle n}技术图片为两个相同数字,或
  • {\displaystyle n}技术图片由三个或更多数字组成,其首位和末位数字相同,且从{\displaystyle n}技术图片中去掉该首位和末尾数字后的数也是回文的。

10基数下,所有单个数字{0、1、2、3、4、5、6、7、8、9}都是回文数。

两位数的回文数有9个:

{11, 22, 33, 44, 55, 66, 77, 88, 99}

三位数中有90个回文数:

{101, 111, 121, 131, 141, 151, 161, 171, 181, 191, ..., 909, 919, 929, 939, 949, 959, 969, 979, 989, 999}

四位数中也有90个回文数:

{1001, 1111, 1221, 1331, 1441, 1551, 1661, 1771, 1881, 1991, ..., 9009, 9119, 9229, 9339, 9449, 9559, 9669, 9779, 9889, 9999}

因此总共有199个小于104的回文数。小于105的回文数有1099个,对其它的10的整数幂10n来说,分别有:1999, 10999, 19999, 109999, 199999, 1099999, ... (OEIS中的数列A070199)个回文数。下表列出了一些常见类型的回文数在这些10的幂为界限下的个数(其中包括将0也作为一个回文数):

  101 102 103 104 105 106 107 108 109 1010
n为自然数 10 19 109 199 1099 1999 10999 19999 109999 199999
n为偶数 5 9 49 89 489 889 4889 8889 48889 88889
n为奇数 5 10 60 110 610 1110 6110 11110 61110 111110
n为完全平方数 3 6 13 14 19  + +
n为素数 4 5 20 113 781 5953
n为因数中不含平方数的数 6 12 67 120 675  + + + + +
n为可被某平方数整除的数(即μ(n)=0) 3 6 41 78 423  + + + + +
n为素数的平方数 2 3 5
n具有偶数个相异的素因子(即μ(n)=1) 2 6 35 56 324 + + + + +
n具有奇数个相异的素因子(即μ(n)=-1) 5 7 33 65 352 + + + + +
n本身为偶数并具有奇数个素因子                    
n本身为偶数并具有奇数个相异的素因子 1 2 9 21 100 + + + + +
n本身为奇数并具有奇数个素因子 0 1 12 37 204 + + + + +
n本身为奇数并具有奇数个相异的素因子 0 0 4 24 139 + + + + +
n本身为偶数且因子中无平方数、有偶数个相异素因子 1 2 11 15 98 + + + + +
n本身为奇数且因子中无平方数、有偶数个相异素因子 1 4 24 41 226 + + + + +
n为奇数并具有正好两个素因子 1 4 25 39 205 + + + + +
n为偶数并具有正好两个素因子 2 3 11 64 + + + + +
n为偶数并具有正好三个素因子 1 3 14 24 122 + + + + +
n为偶数并具有正好三个相异的素因子                    
n为奇数并具有正好三个素因子 0 1 12 34 173 + + + + +
n为卡迈克尔数 0 0 0 0 0 1+ + + + +
n为满足σ(n)是回文数的数 6 10 47 114 688 + + + + +

也可在十进制以外的其它数系中考虑回文数。例如,在二进制中的回文数有:

0, 1, 11, 101, 111, 1001, 1111, 10001, 10101, 11011, 11111, 100001,…

以上这些数在十进制中即:0, 1, 3, 5, 7, 9, 15, 17, 21, 27, 31, 33,…(OEIS中的数列A006995)。梅森素数构成了二进制回文素数的一个子集。

通常在一个基数下的回文数在另一个基数下就不再是回文数。例如:1646110 = 404D16。(下标的数字表示的是基数,即n16表示以十六进制写出的n)。然而,有些数字在几个基数中都是回文数(称为“协回文的”,copalindromic),例如10510在五个不同的基数下都是回文数:12214 = 1518 = 7714 = 5520 = 3334;十进制数1991在十六进制中为7C7,也是回文的。

在以18为基时,7的一些幂是回文的:

  • 73 = 111
  • 74 = 777
  • 76 = 12321
  • 79 = 1367631

对任意数n,在所有b ≥ n + 1的基数b下都是回文的(因为这时n是一个单位数);在基为n−1时同样也是回文数(因为这时n就成了11n−1)。如果对于2 ≤ b ≤ n − 2,某数在基b下都是非回文数,则称其是一个严格非回文数(Strictly non-palindromic number)。例如6在二进制是110,三进制是20,四进制是12,都不是回文数,因此它是严格非回文数。这样的数其中一个特质是6以上的数都是质数。首几项:1, 2, 3, 4, 6, 11, 19, 47, 53, 79, 103, ... (OEIS中的数列A016038)。

回文数或回文数是指一个像14641这样“对称”的数,即:将这个数的数字按相反的顺序重新排列后,所得到的数和原来的数一样。这里,“回文”是指像“妈妈爱我,我爱妈妈”这样的,正读反读都相同的单词或句子。


推荐阅读
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 本文介绍了指针的概念以及在函数调用时使用指针作为参数的情况。指针存放的是变量的地址,通过指针可以修改指针所指的变量的值。然而,如果想要修改指针的指向,就需要使用指针的引用。文章还通过一个简单的示例代码解释了指针的引用的使用方法,并思考了在修改指针的指向后,取指针的输出结果。 ... [详细]
  • 在project.properties添加#Projecttarget.targetandroid-19android.library.reference.1..Sliding ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
author-avatar
王之玉58_913
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有