A'信封背面的解決方案似乎是每一個數字轉換列表以二進制和總結每個位列中的1
的數量。
如果特定列數中的總和爲偶數,那麼該列將在您的最終(二元)結果中保存0
,如果它是奇數,則它將保存1
。
所以你的bitxor([1 3 5 7])
例如:
0001 (dec 1)
0011 (dec 3)
0101 (dec 5)
0111 (dec 7)
====
逐位和:0224
(不基地2在這裏,很明顯)
通過奇/偶以上規則轉換:
0224 => bin 0000 (or dec 0)
我嘗試了幾個簡單的例子,並沒有遇到例外。
所以一些代碼來嘗試解掉:
所有的
Y = [1, 3, 5, 7];
strMat = dec2bin(Y); % Convert Y to char matrix of binary values
for i = 1:size(strMat,2)
colSum = sum(str2num(strMat(:,i))); % Sum up each column
finalVal(i) = num2str(mod(colSum,2)); % Check whether column sum is even
end
finalVal = bin2dec(finalVal); % Convert solution to decimal
首先定義了運營商與 – 2013-04-28 18:29:38