0036. 双进制回文数
首页
项目
百科
挑战
周边
捐赠
关于
拉格朗日计划
双进制回文数
十进制数585的二进制表示是1001001001,在两种进制下它都是回文数。
求所有小于一百万、且在这两种进制下都是回文数的数之和。
注意,无论在哪种进制下数的表示都不含前导零,例如010就不是一种合法的表示形式。
本题难度:
解答
先找出一百万以内十进制下的回文数,再检查它们在二进制下是否也是回文数,结果是$872187$。
print sum(s for s in range(1000000) if str(s)==str(s)[::-1] and format(s,"b")==format(s,"b")[::-1])