题目描述
有一只蒟蒻在进行位运算,对于两个二进制数x,y,它想要知道x⨁y , x∣y , x&y 分别是多少。
注意:本题以及下一题中的 ⨁ 均表示位运算中的异或运算。
输入格式
三行,第一行一个整数n,表示二进制数的位数。
第二行和第三行每行n个用空格隔开的数(0 或 1),表示两个二进制数 x,y 的每一位(从高位到低位)。
输出格式
三行,每行一个n位二进制数,分别表示x⨁y , x∣y , x&y 。
样例输入
3
0 0 1
1 1 1
样例输出
110
111
001
数据范围
n≤100
#include <stdio.h>
void Ten2Two(int a)
{
if(a>=2)
Ten2Two(a/2);
printf("%d",a%2);
}
int main()
{
int n,i,a=0,b=0,c,x,y,z;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&c);
a = a*2+c;
}
for(i=0;i<n;i++)
{
scanf("%d",&c);
b = b*2+c;
}
x = a^b;
y = a|b;
z = a&b;
Ten2Two(x);
printf("\n");
Ten2Two(y);
printf("\n");
Ten2Two(z);
printf("\n");
return 0;
}