1.3按位AND和按位OR
Problem Description
已知长度为n的两个位串a和b,求它们的按位AND和按位OR。
Input
多组测试数据,每组测试数据第1行输入位串长度n(0 < n <= 64),第2行输入n个以空格隔开的取值为0或1的整数表示位串a,第3行输入n个以空格隔开的取值为0或1的整数表示位串b。
Output
每组测试数据占两行,第一行输出n个以空格隔开的取值为0或1的整数表示a位串和b位串的按位AND,第2行输出n个以空格隔开的取值为0或1的整数表示a位串和b位串的按位OR。
Sample Input
5 1 0 0 1 0 0 0 0 1 1
Sample Output
0 0 0 1 0 1 0 0 1 1
Hint
#include<bits/stdc++.h>
using namespace std;
int main(){
bool p[65], q[65];
int n;
while(cin>>n){
for(int i = 0; i <= n - 1; i++)cin>>p[i];
for(int i = 0; i <= n - 1; i++)cin>>q[i];
for(int i = 0; i <= n - 1; i++){
if(i == n - 1)cout<<int(p[i]&&q[i])<<endl;
else cout<<int(p[i]&&q[i])<<' ';
}
for(int i = 0; i <= n - 1; i++){
if(i == n - 1)cout<<int(p[i]||q[i])<<endl;
else cout<<int(p[i]||q[i])<<' ';
}
}
return 0;
}