
给定三个长度为 N 的二进制序列 A、B 和 C。每个序列代表一个二进制数。我们必须找到没有。 A 和 B 中的位所需的翻转次数,使得 A 和 B 的 XOR 得到 C。A XOR B 变成 C。
首先让我们了解一下 XOR 运算的真值表 –
00001 1101110
从上表中我们观察到,对于相同的值在 X 和 Y 中,X XOR Y 结果为 0,否则结果 1. 因此,这将有助于找到在A和B中翻转以达到C的位。情况将是
如果A[i]==B[i]且C[i]==0,则不需要翻转,如果A[i]==B[i]且C[i]==1,则翻转A[i]或B[i]并将翻转计数增加1如果A[i]!=B[i]且C[i]==0,则翻转A[i]或B[i]并将翻转计数增加1如果A[i]!=B[i]且C[i]==1,则不需要翻转。
输入
A[]= { 0,0,0,0 } B[]= { 1,0,1,0 } C= {1,1,1,1}
输出
Required flips : 2
Explanation
的中文翻译为:
解释
A[0] xor B[0] 0 xor 1 = 1 C[0]=1 no flipA[1] xor B[1] 0 xor 0 = 0 C[0]=1 flip count=1A[2] xor B[2] 0 xor 1 = 1 C[0]=1 no flipA[3] xor B[3] 0 xor 0 = 0 C[0]=1flip count=2
输入
A[]= { 0,0,1,1 } B[]= { 0,0,1,1 } C= {0,0,1,1}
输出
Required flips : 2
Explanation
的中文翻译为:
解释
A[0] xor B[0] 0 xor 0 = 0 C[0]=0 no flipA[1] xor B[1] 0 xor 0 = 0 C[0]=0 no flipA[2] xor B[2] 1 xor 1 = 0 C[0]=1 flip count=1A[3] xor B[3] 1 xor 1 = 0 C[0]=1 flip count=2
下面程序中使用的方法如下
数组a[]、b[]和c[]用于存储二进制数。
函数 FlipCount(int A[], int B[], int C[], int n) 将数组 a、b、c 及其长度 n 作为输入并返回在A[]或B[]的位上需要翻转的次数,以使得C[]等于A异或BB
变量count表示翻转计数,初始化为0。
使用for循环遍历从i开始的单元格中的每一位= 0 到 i
对于每个位 A[i] 和 B[i]。如果它们相等且 C[i] 为 1,则增加计数。
立即学习“C++免费学习笔记(深入)”;
对于每个位 A[i] 和 B[i]。如果它们不相等且 C[i] 为 0,则增加计数。
返回所需结果的计数。
示例
现场演示
#includeusing namespace std;int flipCount(int A[], int B[], int C[], int N){ int count = 0; for (int i=0; i < N; ++i){ // If both A[i] and B[i] are equal then XOR results 0, if C[i] is 1 flip if (A[i] == B[i] && C[i] == 1) ++count; // If Both A and B are unequal then XOR results 1 , if C[i] is 0 flip else if (A[i] != B[i] && C[i] == 0) ++count; } return count;}int main(){ //N represent total count of Bits int N = 5; int a[] ={1,0,0,0,0}; int b[] ={0,0,0,1,0}; int c[] ={1,0,1,1,1}; cout <<"Minimum bits to flip such that XOR of A and B equal to C :"<<flipCount(a, b, c,N); return 0;}
输出
Minimum bits to flip such that XOR of A and B equal to C :2
以上就是在C++中,将以下内容翻译为中文:计算最小的位翻转次数,使得A和B的异或结果等于C的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1443726.html
微信扫一扫
支付宝扫一扫