019f8fd211
git-subtree-dir: users/wpcarro git-subtree-mainline:464bbcb15c
git-subtree-split:24f5a642af
Change-Id: I6105b3762b79126b3488359c95978cadb3efa789
22 lines
561 B
Python
22 lines
561 B
Python
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!")
|