Post #2060887
2025-04-24 11:20 UTC
Been inspired by @lemire and started to practice some more bit ops (python code from phone ).
labels = ["{}","Buzz", "Fizz","FizzBuzz"]
for i in range(1, 101):
dv3 = int(i % 3 == 0)
dv5 = int(i % 5 == 0)
sel = (dv3 << 1) | dv5
print(labels[sel].format(i))
Reasoning (pretty obv)
div 3 T
(1<<1)|0 = 2 (idx for Fizz)
div5 T
(0<<1)|1 = 1 (idx for Buzz)
both T
(1<<1)|1 = 3 (Idx for FizzBuzz)
both F = (0<<1) | 0 = 0 ( print count of i)
Branchless FizzBuzz. Easily scalable lol.
Replies (0)
No replies.