如果一个数从左到右和从右到左读都一样,那么这个数就叫做“回文数”。如果一个数的十进制和二进制表示都是回文数,则把这个数叫做“双重回文数”。例如,十进制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)+'为双重回文数')