Logic Building
# Print numbers
print("Numbers with even 1s in binary:")
for num in range(1, 21):
# Count 1s in binary
binary = bin(num)[2:] # Remove '0b' prefix
count_ones = binary.count('1')
if count_ones % 2 == 0:
print(f"{num} (binary: {binary})", end=" ")
print()Output
Numbers with even 1s in binary: 1 (binary: 1) 2 (binary: 10) 4 (binary: 100) ...
Convert to binary and count 1s.
Key Concepts:
- Use bin() to convert to binary
- Count occurrences of '1'
- Check if count is even