问题描述
有的数转换为二进制之后,正好有3个数位为1。例如7转换为二进制为111,有3个数位为1:又如11转换为二进制为1011,有3个数位为1。满足条件的前几个数依次为: 71113,14,19,21,......请问,第23 个满足条件的数是多少?
import os
import sys# 请在此输入您的代码
cnt=0
for num in range(7,10000000):num1=numnum2=bin(num)[2:]if num2.count('1')==3:cnt+=1if cnt==23:print(num1)break