PY
py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
'''
⚠️Challenge: how many odious numbers smaller than 10.000 can you find⚠️
odious numbers are non-negative numbers that have an odd number of ones in the binary expansion
# 21 = 10101 = 3
# 50 = 110010 = 3
Challenge: how many odious numbers smaller than 10.000 can you find?
'''
def odious():
yield from range(1,10000)
x = 0
for i in odious():
if bin(i).count("1")%2==1:
x+=1
print(x)
Enter to Rename, Shift+Enter to Preview
OUTPUT
Run