Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Uncategorized category for Funny Addition by ilih
# migrated from python 2.7
def checkio(data):
'The sum of two integer elements'
a = '{:b}'.format(data[0])
b = '{:b}'.format(data[1])
l = max(list(map(len, (a, b))))
a = '{0:0{1}b}'.format(data[0], l)
b = '{0:0{1}b}'.format(data[1], l)
add = '0'
binary = ''
for x,y in reversed(map(None, a, b)):
if x==y=='1' or x==y=='0':
binary += add
add = x
elif add=='1':
binary += '0'
elif add=='0':
binary += '1'
else:
print('?')
binary += add
result = 0
for i, d in enumerate(binary):
result += int(d) * (2**i)
return result
if __name__ == '__main__':
assert checkio([5, 5]) == 10, 'First'
assert checkio([7,1]) == 8, 'Second'
print('All ok')
May 7, 2011
Comments: