(每日一练70347)题目名称:最近的回文数

文盲老顾
WEB应用领新星创作者
博客专家认证
2023-05-14 08:55:00

回文数是一个非负整数,它的各位数字从高位到低位和从低位到高位的排列是相同的。 以下是一些回文数的例子: 0 1 33 525 7997 37273 现在给到一个数,求离它最近的一个回文数(离与它的差的绝对值最小)。如果这个数本身就是回文数,那么就输出它本身。

暂时没考虑算法,用例范围小,暴力计算即可。

n,p = int(input()),0
while True:
    if str(n + p) == str(n + p)[::-1]:
        print(n + p)
        break
    if str(n - p) == str(n - p)[::-1]:
        print(n - p)
        break
    p += 1
...全文
122 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
文盲老顾 2023-05-14
  • 打赏
  • 举报
回复

然后想起一个小伙伴曾经私聊,说应该有更简单的办法,不用暴力。。。。今天试了试,算法没弄出来,C 站用例试出来了。。。

n = input()
l = len(n)
print(n[:(l + 1) // 2] + n[:l // 2][::-1])

img

321

社区成员

发帖
与我相关
我的任务
社区描述
主要用于技术交流,包括但不限于 .net,mssql,js,css,python,算法,运维。也可以晒最新技术,美图,运动等。最后,如果有问题,可以提问,老顾能帮忙的会尽量帮忙哦。
前端sqlserverasp.net 技术论坛(原bbs) 北京·西城区
社区管理员
  • 文盲老顾
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧