鱼C论坛

 找回密码
 立即注册
查看: 18518|回复: 330

[数学运算] 判断一个整数是否为回文数?

  [复制链接]
发表于 2020-11-4 17:02:48 | 显示全部楼层 |阅读模式
购买主题 已有 25 人购买  本主题需向作者支付 5 鱼币 才能浏览
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-11-5 10:37:52 | 显示全部楼层
本帖最后由 afula 于 2020-11-5 11:09 编辑
  1. def f(num):
  2.         if len(str(num)) == 1 or num == 0:
  3.                 return True
  4.         else:
  5.                 #如果最低位和最高位的数字相等,则将num去除最高位和最低位进入下一次的迭代。不相等就直接结束迭代。
  6.                 if num // pow(10, len(str(num))-1) == num % 10:
  7.                         return f((num % pow(10, len(str(num))-1))// 10)
  8.                 else:
  9.                         return False
  10. num = int(input("输入:"))
  11. if f(num):
  12.         print("输出:是回文数")
  13. else:
  14.         print("输出:不是回文数")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-5 10:52:36 | 显示全部楼层
本帖最后由 afula 于 2020-11-5 16:14 编辑
  1. #小甲鱼没有放答案在上面,我就写写看,这个的迭代必须要迭代数字位数的1/2次.
  2. def fa(x, revertedNumber=0):
  3.         if x < 0 or (x % 10 == 0 and x != 0):
  4.                 return False
  5.         else:
  6.                 if x // 10 == revertedNumber or x == revertedNumber:
  7.                         return True
  8.                 elif len(str(x)) == len(str(revertedNumber)) or len(str(x))-1 == len(str(revertedNumber)):
  9.                         return False
  10.                 else:
  11.                         return fa(x // 10, x % 10 + revertedNumber * 10)
  12. num = int(input("输入:"))
  13. if fa(num):
  14.         print("输出:是回文数")
  15. else:
  16.         print("输出:不是回文数")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-5 14:40:31 | 显示全部楼层
r
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-11-5 16:15:18 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-11-5 16:24:55 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-11-12 19:31:20 | 显示全部楼层
66666
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-13 16:03:42 | 显示全部楼层
?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-11-15 16:29:00 | 显示全部楼层
学习
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-11-16 15:01:56 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-11-23 18:39:30 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-11-23 19:13:14 | 显示全部楼层
方法一(比较字符串):
a = str(input('请输入一个数:'))
list1 = []
for each_num in a:
    list1.append(each_num)
list2 = list(reversed(list1))
if list1 == list2:
    print('是回文数')
方法二(比较数字):
b = 0
c = 0
a = int(input('请输入一个数:'))
d = a
for r in str(a):
    c = a
    a = a//10
    if c>=10:
        b += (c%10)
        b *= 10
    else:
        b += c
if b == d:
    print('是回文数')
else:
    print('不是回文数')
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-24 10:26:42 | 显示全部楼层
111
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-11-24 16:30:56 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-11-30 15:06:06 | 显示全部楼层
    #!/usr/bin/python3

    """
    输入:12321
    输出:是回文数。
    输入:12345
    输出:不是回文数。
    输入:-12321
    输出:不是回文数。
    输入:0
    输出:是回文数。
    """
    def palindrome(num):
        for i in range(len(num)):
            if num[i]==num[-(i+1)]:
                continue
            else:
                print("%s不是回文数"% num)
                return False
        print("%s是回文数" % num)            
        return True

    palindrome('123456789')







小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-1 07:54:03 | 显示全部楼层
康康答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-1 20:53:50 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-2 19:04:38 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-12 12:41:26 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-14 02:17:20 | 显示全部楼层
我看看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-1 04:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表