Initial commit
This commit is contained in:
50
demo.py
Normal file
50
demo.py
Normal file
@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
def generate_number_groups(max_number):
|
||||
"""Generate groups of numbers based on binary representation."""
|
||||
groups = []
|
||||
bit_position = 0
|
||||
|
||||
while (1 << bit_position) <= max_number:
|
||||
group = []
|
||||
for num in range(1, max_number + 1):
|
||||
if num & (1 << bit_position):
|
||||
group.append(num)
|
||||
groups.append(group)
|
||||
bit_position += 1
|
||||
|
||||
return groups
|
||||
|
||||
def demo_guess(target_number):
|
||||
"""Demo the guessing process with a known target number."""
|
||||
print(f"🎯 Demo: Guessing the number {target_number}")
|
||||
print("=" * 50)
|
||||
|
||||
max_number = 63
|
||||
groups = generate_number_groups(max_number)
|
||||
result = 0
|
||||
|
||||
for i, group in enumerate(groups):
|
||||
print(f"\nGroup {i + 1} (bit position {i}):")
|
||||
print("Numbers:", " ".join(map(str, group)))
|
||||
|
||||
is_in_group = target_number in group
|
||||
print(f"Is {target_number} in this group? {'YES' if is_in_group else 'NO'}")
|
||||
|
||||
if is_in_group:
|
||||
result += (1 << i)
|
||||
print(f"Adding 2^{i} = {1 << i} to result")
|
||||
|
||||
print(f"Current result: {result}")
|
||||
|
||||
print(f"\n🎉 Final answer: {result}")
|
||||
print(f"✅ Correct: {result == target_number}")
|
||||
return result
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Demo with a few different numbers
|
||||
test_numbers = [7, 23, 42, 1, 63]
|
||||
|
||||
for num in test_numbers:
|
||||
demo_guess(num)
|
||||
print("\n" + "="*60 + "\n")
|
Reference in New Issue
Block a user