1.3按位AND和按位OR
Time Limit: 1000 ms Memory Limit: 65536 KiB
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
Source
xry-fhf
#include <stdio.h> #include <stdlib.h> int main() { int n, a[100], b[100], i; while(scanf("%d", &n) != EOF) { for(i = 1; i <= n; i++) { scanf("%d", &a[i]); } for(i = 1; i <= n; i++) { scanf("%d", &b[i]); } for(i = 1; i < n; i++) { if(a[i] == 1 && b[i] == 1) { printf("1 "); } else { printf("0 "); } } if(a[n] == 1 && b[n] == 1) { printf("1\n"); } else { printf("0\n"); } for(i = 1; i < n; i++) { if(a[i] != 0 || b[i] != 0) { printf("1 "); } else { printf("0 "); } } if(a[n] != 0 || b[n] != 0) { printf("1\n"); } else { printf("0\n"); } } return 0; }