问题 5012 --双重回文数(Python)

5012: 双重回文数(Python)★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 192  解决: 124
[提交][状态][命题人:]

题目描述

如果一个数从左到右和从右到左读都一样,那么这个数就叫做“回文数”。如果一个数的十进制和二进制表示都是回文数,则把这个数叫做“双重回文数”。例如,十进制33是回文数,将其转化为二进制表示100001也是回文数,所以33是双重回文数。编写程序,查找1~1000的所有双重回文数。

def dtob(k):
    st=[-1]*100
    top=-1
    s=''
    while k>0:
        top=top+1
        ______(1)_______
        k=k//2
    while top!=-1:
        s=s+str(st[top])
        _____(2)______
    return s
def hws(x):
    if x==______(3)________:
        return True
    else:
        return False
for n in range(1,1001):
    b=dtob(n)
    if hws(str(n)) ______(4)______:
        print(str(n)+'为双重回文数')


输入

输出

提示

来源

 

[提交][状态]