题解 | #[NOIP1999]回文数#

[NOIP1999]回文数

http://www.nowcoder.com/practice/a432eb24b3534c27bdd1377869886ebb

a=int(input())
b=input()
num=0
while a==10 and b!=''.join([i for i in reversed(b)]):
    b=str(int(b)+int(''.join([i for i in reversed(b)])))
    num+=1
    if num>30:
        print('imposs')
        break
while a==2 and b!=''.join([i for i in reversed(b)]):
    b=bin(int(b,2)+int(''.join([i for i in reversed(b)]),2))[2:]
    num+=1
    if num>30:
        print('Impossible!')
        break
while a==16 and b!=''.join([i for i in reversed(b)]):
    b=hex(int(b,16)+int(''.join([i for i in reversed(b)]),16))[2:]
    num+=1
    if num>30:
        print('imposs')
        break
if num<=30:
    print('STEP=%d'%(num))
全部评论
按题目的意思应该是对2-16的所有进制计算回文数,您这个只实现了2、10、16进制,所以题目示例的9进制不能通过
点赞 回复 分享
发布于 2022-04-15 16:38

相关推荐

10-06 12:46
门头沟学院 Java
跨考小白:定时任务启动
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务