自学Python:回文数的形成

作者: 小强聊成长 | 来源:发表于2022-03-11 12:40 被阅读0次

什么是回文数?

回文数是指这个数无论从左向右读还是从右向左读都是一样的,如121、11等。

任取一个十进制正整数,将其倒过来后与原来的正整数相加,会得到一个新的正整数,重复以上步骤,则最终可得到一个回文数。

那么问题来了,请用Python程序验证。

下面直接上代码:

########################

def reverse(a):# 求反序数

    t = 0

    while a > 0:

        t = t * 10 + a % 10 # t中存放的是a的反序数

        a //= 10

    return t

def palindrome(s):# 判断是否为回文数

    if (reverse(s) == s):  # 调用reverse()函数判断变量s是否与其反序数相等

        return 1  # s是回文数则返回1

    else:

        return 0    # s不是回文数则返回0

if __name__ == '__main__':

    n = int(input("请输入一个正整数:"))

    print("回文数的产生过程如下:")

    count = 0

    m = reverse(n)

    while (palindrome(m + n) == 0): # 判断当前的整数n是否为回文数

        count += 1

        print("[%d]:%d+%d=%d " % (count, n, m, m + n))  # 打印操作步骤

        n += m  # n加上其反序数

        m = reverse(n)

    count += 1

    print("[%d]:%d+%d=%d\n" % (count, n, m, m + n))

########################

执行结果如下:

请输入一个正整数:678

回文数的产生过程如下:

[1]:678+876=1554

[2]:1554+4551=6105

[3]:6105+5016=11121

[4]:11121+12111=23232

________________END______________

相关文章

  • 自学Python:回文数的形成

    什么是回文数? 回文数是指这个数无论从左向右读还是从右向左读都是一样的,如121、11等。 任取一个十进制正整数,...

  • 自学Python:计算回文数

    要说什么是回文数?就得先说说什么是回文。 “回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字...

  • Python-函数命名

    今天先是联系了对回文数判定程序的编写,后是把前面素数判定添加进去,形成了判定一个数既是回文数又是素数的程序: 自己...

  • 2019-01-29——回文数

    判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 python解答:

  • leetcode - python - 回文数

    判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1:输入: 121...

  • 回文数最优解

    回文数 非回文数 JAVA 解法

  • 记录20200830

    LeetCode 214题,最短回文数 利用 Python 切片 KMP解法 比如求 s = "abc" 的最短回...

  • leecode刷题(31) -- 回文数

    leecode刷题(31) -- 回文数 回文数 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右...

  • Leetcode(9) - 回文数 - java版

    Leetcode(9) - 回文数 - java版 题目 难度: 简单 判断一个整数是否是回文数。回文数是指正序...

  • ARTS-Week3 回文数、内存泄漏排查、DWR框架

    Algorithm:回文数判断 LeetCode原题链接 题目: 判断一个整数是否是回文数。回文数是指正序(从左向...

网友评论

    本文标题:自学Python:回文数的形成

    本文链接:https://www.haomeiwen.com/subject/qfbakrtx.html