我需要为
创建一个游览机Z =(Xi + Ki)mod 2
但我完全迷失了为2的模数创建一个游览机.X和K是二进制输入,其中i是字符串的长度。输入如下:
XYK
Y只是作为二进制字符串X和K的分隔符,其长度可以变化。我现在遇到的问题是关于等式的模数部分。我如何从mod 2开始,以及我应该注意什么?
答案 0 :(得分:0)
基于此,我认为你要求的是Z,这样Z_i = X_i + Y_i(mod 2):
(X0 X1 X2 ... Xi
+ K0 K1 K2 ... Ki)
% 2 2 2 ... 2
= Z0 Z1 Z2 ... Zi
鉴于此和输入磁带如BXX ... XY ... KK ... KBB ...其中B为空白,XX ... X是一个i位二进制数,Y是分隔符和KK ... K是另一个i-digit二进制数,问题很简单:
示例:0011 + 1010
B0011Y1010BBBBB...
^
B0011Y1010VBBBB...
^ move to the end of input, write V separator, reset head
B0011Y1010VBBBB...
^ move right to first 0
BW011Y1010VBBBB...
^ enter X0, write W, move right to first 1 after Y
BW011YW010VBBBB...
^ enter Z1, write W, move right to first blank after V
BW011YW010V1BBB...
^ write 1, return to beginning, repeat
BWW11YWW10V10BB...
^ find 0, X0, find 0, Z0, write 0, return to start, repeat
BWWW1YWWW0V100B...
^ find 1, X1, find 1, Z0, write 0, return to start, repeat
BWWWWYWWWWV1001...
^ find 1, X1, find 0, Z1, write 1, return to start, repeat
B1001BBBBBBBBBB...
^ find Y, copy from after V to beginning, erase rest, halt.