回文数 订阅
“回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number)。 [1]  设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。 [1]  注意:1.偶数个的数字也有回文数1244212.小数没有回文数 展开全文
“回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number)。 [1]  设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。 [1]  注意:1.偶数个的数字也有回文数1244212.小数没有回文数
信息
外文名
palindrome number
定    义
正读倒读都一样的整数
中文名
回文数
回文数基本情况
在自然数中,最小的回文数是0,其次是1,2,3,4,5,6,7,8,9,11,22,33,44,55,66,77,88,99,101,111,121,131,141,151,161,171,181,191,202,212,222,232,242,252,262,272,282,292,303,313,323,333,343,353,363,373,383,393,404,414,424,434,444,454,464,474,484,494,505,515,525,535,545,555,565,575,585,595,606,616,626,636,646,656,666,676,686,696,707,717,727,737,747,757,767,777,787,797,808,818,828,838,848,858,868,878,888,898,909,919,929,939,949,959,969,979,989,999.定义:一个回文数,它同时还是某一个数的平方,这样的数字叫做平方回数。例如:121。100以上至1000以内的平方回数只有3个,分别是:121、484、676。其中,121是11的平方。484是22的平方,同时还是121的4倍。676是26的平方,同时还是169的4倍。任意某一个数通过以下方式相加也可得到如:29+92=121 还有 194+491=685,586+685=1271,1271+1721=2992不过很多数还没有发现此类特征(比如196,下面会讲到)另外个别平方数是回文数1的平方=111的平方=121111的平方=123211111的平方=1234321…………依次类推3×51=1536×21=1264307×62=2670349×7×533=33579上面这些算式,等号左边是两个(或三个)因数相乘,右边是它们的乘积。如果把每个算式中的“×”和“=”去掉,那么,它们都变成回文数,所以,我们不妨把这些算式叫做“回文算式”。还有一些回文算式,等号两边各有两个因数。请看:12×42=24×2134×86=68×43102×402=204×2011012×4202=2024×2101不知你是否注意到,如果分别把上面的回文算式等号两边的因数交换位置,得到的仍是一个回文算式,比如:分别把“12×42=24×21”等号两边的因数交换位置,得到算式是:42×12=21×24这仍是一个回文算式。还有更奇妙的回文算式,请看:12×231=132×21(积是2772)12×4032=2304×21(积是48384)这种回文算式,连乘积都是回文数。四位的回文数有一个特点,就是它决不会是一个质数。设它为abba,那它等于a*1000+b*100+b*10+a,1001a+110b。能被11整除。六位的也一样,也能被11整除还有,人们借助电子计算机发现,在完全平方数、完全立方数中的回文数,其比例要比一般自然数中回文数所占的比例大得多。例如11^2=121,22^2=484,7^3=343,11^3=1331,11^4=14641……都是回文数。
收起全文
精华内容
下载资源
问答
  • 回文数
    千次阅读
    2021-06-07 13:02:51

    “回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number)。[1]

    设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。[1]

    注意:

    1.偶数个的数字也有回文数124421

    2.小数没有回文数

    中文名

    回文数外文名

    palindrome number

    定    义

    正读倒读都一样的整数

    回文数基本情况

    回文数1千以内的回文数

    在自然数中,最小的回文数是0,其次是1,2,3,4,5,6,7,8,9,11,22,33,44,55,66,77,88,99,101,111,121,131,141,151,161,171,181,191,202,212,222,232,242,252,262,272,282,292,303,313,323,333,343,353,363,373,383,393,404,414,424,434,444,454,464,474,484,494,505,515,525,535,545,555,565,575,585,595,606,616,626,636,646,656,666,676,686,696,707,717,727,737,747,757,767,777,787,797,808,818,828,838,848,858,868,878,888,898,909,919,929,939,949,959,969,979,989,999.

    回文数平方回数

    定义:一个回文数,它同时还是某一个数的平方,这样的数字叫做平方回数。例如:121。

    100以上至1000以内的平方回数只有3个,分别是:121、484、676。

    其中,121是11的平方。

    484是22的平方,同时还是121的4倍。

    676是26的平方,同时还是169的4倍。

    回文数举例说明

    任意某一个数通过以下方式相加也可得到

    如:29+92=121 还有 194+491=685,586+685=1271,1271+1721=2992

    不过很多数还没有发现此类特征(比如196,下面会讲到)

    另外个别平方数是回文数

    1的平方=1

    11的平方=121

    111的平方=12321

    1111的平方=1234321

    ……

    ……

    依次类推

    3×51=153

    6×21=126

    4307×62=267034

    9×7×533=33579

    上面这些算式,等号左边是两个(或三个)因数相乘,右边是它们的乘积。如果把每个算式中的“×”和“=”去掉,那么,它们都变成回文数,所以,我们不妨把这些算式叫做“回文算式”。还有一些回文算式,等号两边各有两个因数。请看:

    12×42=24×21

    34×86=68×43

    102×402=204×201

    1012×4202=2024×2101

    不知你是否注意到,如果分别把上面的回文算式等号两边的因数交换位置,得到的仍是一个回文算式,比如:分别把“12×42=24×21”等号两边的因数交换位置,得到算式是:

    42×12=21×24

    这仍是一个回文算式。

    还有更奇妙的回文算式,请看:

    12×231=132×21(积是2772)

    12×4032=2304×21(积是48384)

    这种回文算式,连乘积都是回文数。

    四位的回文数有一个特点,就是它决不会是一个质数。设它为abba,那它等于a*1000+b*100+b*10+a,1001a+110b。能被11整除。

    六位的也一样,也能被11整除

    还有,人们借助电子计算机发现,在完全平方数、完全立方数中的回文数,其比例要比一般自然数中回文数所占的比例大得多。例如11^2=121,22^2=484,7^3=343,11^3=1331,11^4=14641……都是回文数。

    回文数研究现状

    人们迄今未能找到自然数(除0和1)的五次方,以及更高次幂的回文数。于是数学家们猜想:不存在n^k(n≥2,k≥5;n、k均是自然数)形式的回文数。

    在电子计算器的实践中,还发现了一桩趣事:任何一个自然数与它的倒序数相加,所得的和再与和的倒序数相加,……如此反复进行下去,经过有限次步骤后,最后必定能得到一个回文数。

    这也仅仅是个猜想,因为有些数并不“驯服”。比如说196这个数,按照上述变换规则重复了数十万次,仍未得到回文数。但是人们既不能肯定运算下去永远得不到回文数,也不知道需要再运算多少步才能最终得到回文数。

    回文数回文数算法

    随意找一个十进制的数,把它倒过来成另一个数,再把这两个数相加,得一个和数,这是第一步;然后把这个和数倒过来,与原来的和数相加,又得到一个新的和数,这是第二步。照此方法,一步步接续往下算,直到出现一个“回文数”为n。例如:28+82=110,110+011=121,两步就得出了一个“回文数”。如果接着算下去,还会得到更多的“回文数”。这个过程称为“196算法”。[2]

    回文数对回文数的探索过程

    上而提到的196这个数,是第一个可能的“利克瑞尔数”,因而它受到了最多的关注。由于还不可能证明一个数永远不能形成“回文数”,所以“196和其他那些(看起来)不能形成回文数的数是利克瑞尔数”这一命题仅是猜想而非已获证明。能证明的仅是那些反例,即如果一个数最终能形成“回文数”,则它不是“利克瑞尔数”。

    在电子计算机尚未问世的1938年,美国数学家莱默(D. Lehmer,1905-1991)计算到了第73步,得到了一个没有形成“回文数”的35位的和数。至今挑战此题的数学爱好者从没有间断过,并随着计算机科技的发展,不断有发烧友编写不同的程序对此题发起挑战。据笔者最新调查,领军人W.V.Landingham到2006年2月已经计算到了699万步,得到了一个2.89亿位以上的和数,之间的结果仍未出现“回文数”。

    另外介绍一个关于达到“回文数”需要计算步数的世界记录。它是一个19位数字1,186,060,307,891,929,990,算出“回文数,,需要了261步。它是由Jason Doucette的算法及程序于2005年11月30日发现的。下表列举的是各位数字中,到达“回文数”花费步数最多的代表性数字。[2]

    d8714032d82f800221dfccf7eb72a0bd.png

    回文数编程实现

    回文数JAVA源程序

    publicclassPlalindrome{

    publicstaticvoidmain(String[]args){

    System.out.println("11is"+(isPlalindrome(11)?"":"not")+"Plalindromenumber");

    System.out.println("123is"+(isPlalindrome(123)?"":"not")+"Plalindromenumber");

    System.out.println("17251is"+(isPlalindrome(17251)?"":"not")+"Plalindromenumber");

    System.out.println("2882is"+(isPlalindrome(2882)?"":"not")+"Plalindromenumber");

    }

    publicstaticbooleanisPlalindrome(intnumber){

    //此方法实现判断数字是不是回文数

    Stringnum=String.valueOf(number);

    returnnewStringBuffer(num).reverse().toString().equalsIgnoreCase(num);

    }

    }

    ---------------

    11 is Plalindrome number

    123 is not Plalindrome number

    17251 is not Plalindrome number

    2882 is Plalindrome number

    回文数用visual basic6.0

    for i = 100 to 99999 '这里从100开始 后面可以随便填,我这里填99999 表示所有3位数到五位数之间的回文数

    if StrReverse(i)=i then print i '用StrReverse函数 判断倒序后的数和原来数是否相同,如果相同者表示此数为回文数

    next

    回文数用C语言编程

    #include

    intx,y;

    separate(int*data,intn)

    {

    inti,j;

    y=0;

    while(n!=0)

    {

    *(data+y)=n%10;n=n/10;y++;

    }

    *(data+y)='\0';

    for(i=0,j=y-1;i<=j;i++,j--)

    {

    if(*(data+i)!=*(data+j)){

    printf("%d不是回文!!!\n",x);break;

    }

    }

    if(i ==y-1) printf("是回文数");

    }

    voidmain()

    {

    inta[99];

    printf("请输入一个正整数:");

    scanf("%d",&x);

    separate(a,x);

    }

    另外一种实现方法(c++)更简便

    #include

    using namespace std;

    bool symm(long m)

    {

    long temp = m,n=0;

    while (temp)

    {

    n = n*10+temp%10;

    temp = temp/10;

    }

    return (m == n);

    }

    int main(int argc, _TCHAR* argv[])

    {

    long m;

    cout<

    cin>>m;

    cout<

    return 0;

    }

    回文数python源程序

    #coding:--utf-8-- #-*-coding:cp936-*-

    classHws: def__init__(self): self.result=[] defhWs(self): forainrange(1,10000): b=str(a) foriinrange(0,len(b)/2+1): ifb[i]==b[len(b)-i-1]: self.result.append(a) printself.result hws=Hws() hws.hWs()

    回文数求最长回文数长度的manacher算法(O(n))

    #include

    #include

    #include

    #include

    #include

    #include

    #include

    #include

    #include

    #defineINF99999999

    usingnamespacestd;

    constintMAX=110000+10;

    chars[MAX*2];

    intp[MAX*2];

    intmain(){

    while(scanf("%s",s)!=EOF){

    intlen=strlen(s),id=0,maxlen=0;

    for(inti=len;i>=0;--i){//插入'#'

    s[i+i+2]=s[i];

    s[i+i+1]='#';

    }//插入了len+1个'#',最终的s长度是1~len+len+1即2*len+1,首尾s[0]和s[2*len+2]要插入不同的字符

    s[0]='*';//s[0]='*',s[len+len+2]='\0',防止在while时p[i]越界

    for(inti=2;i<2*len+1;++i){

    if(p[id]+id>i)p[i]=min(p[2*id-i],p[id]+id-i);

    elsep[i]=1;

    while(s[i-p[i]]==s[i+p[i]])++p[i];

    if(id+p[id]

    if(maxlen

    }

    cout<

    }

    return0;

    }参考资料

    1.

    回文数猜想的验证

    .中国知网.2001.1[引用日期2015-02-03]

    2.

    关于“回文数”和“数黑洞”的初探

    .中国知网.2014.1[引用日期2015-02-03]

    更多相关内容
  • 本文实例讲述了C++回文数及素数问题计算方法。分享给大家供大家参考,具体如下: /* * 作 者: 刘同宾 * 完成日期:2012 年 11 月 16 日 * 版 本 号:v1.0 * * 输入描述: 编制一个返回值为bool型的函数isPrimer()...
  • Python学习笔记4-回文数 题目: 判断一个整数是否是回文数回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 ...
  • 1.判断一个整数是否是回文数回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- ...
  • 解决JAVA语言中的回文数和猜数字的问题
  • 这也算是一道经典的题目了,判断一个数是否是一个回文数,何为回文数,即从左往右读和从右往左读都一样。这里我的思路是把这个数从两端遍历,判断其是否相等,若有一位不相等,则这个数就不是回文数。 我这里用的是...
  • 回文数”是一种数字。如:98789, 这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字就是回文数。 <?php for($i=10;$i<100;$i++){ $len=strlen($i); $l=1; $k=intval($len)/2+1; for($j=0...
  • 这就是判断一个数值是否是回文数的标准。 代码也是根据这个思路来实现的。 # -*- coding: utf-8 -*- Created on Sun Aug 5 09:01:38 2018 @author: FanXiaoLei #判断回文数 def hw(n): p=n k=0 while p!=0: k...
  • 打印100-999之间的回文数(即百位和个位的数字相等),并每10个打印一行 i = 100 x = 0 # 使用计数器,每10个换行打印 while i <= 999: if i // 100 == i : # 百位整除,个位取余 print(i, end= ) x += 1 # ...
  • 564. 寻找最近的回文数 给定一个整数 n ,你需要找到与它最近的回文数(不包括自身)。 “最近的”定义为两个整数差的绝对值最小。 示例 1: 输入: “123” 输出: “121” 注意: n 是由字符串表示的正整数,其长度不...
  • 主要介绍了用while判断输入的数字是否回文数的简单实现,需要的朋友可以参考下
  • 今天小编就为大家分享一篇 python3中利用filter函数输出小于某个数的所有回文数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • js代码-判断一个整数是否是回文数。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 ...
  • 函数-python 回文数

    2018-08-08 22:10:52
    运用python进行回文数实现,交换位置。回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数
  • 判断一个整数是否是回文数回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如: 121,是回文数。 1221, 是回文数。 1234,不是回文数。 -121,也不是回文数。 一些特殊的情况: 0-9的...
  • def hwnum(n): m=n[::-1] if (m==n): print("是回文数字。") else: print("不是回文数字。") num=input("请输入你要查询的回文数字:") hwnum(num)
  • 回文数是不论从左向右顺读,还是从右向左倒读,结果都是一样的,例如151,15351. 【输入形式】从键盘输入一个整数 【输出形式】判断其是否回文数 【样例输入】 151 【样例输出】 151 is a plalindrome. 【样例输入...
  • 回文数的五种解法一、题目描述二、题目解析1. 解题思路2. Python实现 一、题目描述 题目:9.回文数 难度:简单 判断一个整数是否是回文数回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1:...
  • 本文实例讲述了Python计算回文数的方法。分享给大家供大家参考。具体如下: 这里检查数字是不是回文数,用196算法生成一个数字的回文数 num = 905; def is_Palindrome(num): """ 判断一个数字是不是回文数,这里...
  • javascript判断回文数 概要: 回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number...
  • 主要介绍了Python实现判断一个整数是否为回文数算法,结合实例形式分析了Python针对字符串的翻转、判断等相关操作技巧,需要的朋友可以参考下
  • Shell脚本,实现输入一个正整数n,打印从1-n之间的回文数,并统计个数
  • 今天小编就为大家分享一篇使用python实现回文数的四种方法小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 回文数(python练习)题目+思路题目思路代码实现(学习了官方的解法,减少了1半的时间)补充:字符串的操作实现 以下解题思路,仅表示个人做题思路或引荐别人的方法——如有引用我会标注出来的 题目+思路 题目 判断...
  • 主要介绍了Python回文字符串及回文数字判定功能,结合实例形式分析了Python针对字符串的反转、判定等相关操作技巧,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 70,440
精华内容 28,176
关键字:

回文数

友情链接: sift.rar