分享

回文数的判断

 算法与编程之美 2022-01-15

1 引言

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

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

2 问题描述

输入一个整数x,判断x是否是一个回文数,如果x是一个回文数,返回True;否则,返回False。

示例1

输入:x=1221

输出:True

解释:从左向右读,为1221。从右往左读,为1221。因此它是一个回文数。

示例2

输入:119

输出:False

解释:从左往右读,为119。从右往左读,为911。因此它不是一个回文数。

3 算法描述

由示例1和2可知要把x转换成字符串类型,之后再通过切片操作逆序,判断比较逆序后的字符串与原来的是否相同。

4 结语

本文探讨了如何判断一个整数是否是回文数,涉及到了切片操作,简化了循环过程。熟练运用切片操作,将对我们以后执行较为复杂的循环提供思路。

附件

代码清单 1 DFS求解1到100求和问题Python代码

def huiwen(x):
   x=str(x)
   y=x[::-1]
   if x==y:
       return True
   else:
       return False
x=input()
y=huiwen(x)
print(y)

稿DLETA

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多