subtree(users/wpcarro): docking briefcase at '24f5a642'
git-subtree-dir: users/wpcarro git-subtree-mainline:464bbcb15cgit-subtree-split:24f5a642afChange-Id: I6105b3762b79126b3488359c95978cadb3efa789
This commit is contained in:
commit
019f8fd211
766 changed files with 175420 additions and 0 deletions
22
users/wpcarro/scratch/facebook/hard/binary-adder.py
Normal file
22
users/wpcarro/scratch/facebook/hard/binary-adder.py
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
import random
|
||||
|
||||
def add(a, b):
|
||||
"""
|
||||
Return the sum of `a` and `b`.
|
||||
"""
|
||||
if b == 0:
|
||||
return a
|
||||
sum = a ^ b
|
||||
carry = (a & b) << 1
|
||||
return add(sum, carry)
|
||||
|
||||
################################################################################
|
||||
# Tests
|
||||
################################################################################
|
||||
|
||||
for _ in range(10):
|
||||
x, y = random.randint(0, 100), random.randint(0, 100)
|
||||
print("{} + {} = {} == {}".format(x, y, x + y, add(x, y)))
|
||||
assert add(x, y) == x + y
|
||||
print("Pass!")
|
||||
print("Success!")
|
||||
Loading…
Add table
Add a link
Reference in a new issue