Numbers with Even 1s in Binary

Print numbers whose binary form has even number of 1s.

Logic BuildingAdvanced
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