已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
7小时前关闭。
Improve this question
所以,我解决练习2.1-5从CLRS书中,在我们需要添加两个n位二进制整数a和b,存储在n元素数组。我发现以下解决方案:
def AddBinary(A,B):
n = max(len(A), len(B))
C = [0 for i in range(n+1)]
carry = 0
for i in range(n):
C[i] = (A[i] + B[i] + carry) % 2
carry = (A[i] + B[i] + carry) // 2
C[n] = carry
return C
A = [0,1,1,1,0,0,1]
B = [0,1,1,0,1,1,1]
C = AddBinary(A,B)
print(C)
但是这里的加法是从左到右的,不像常规的从右到左的加法,这个解对吗?或者我应该把它改成从右到左的加法。
1条答案
按热度按时间sbtkgmzw1#
我觉得你的方法是对的
If you want more details on binary