1.3按位AND和按位OR SDUT 離散數學

1.3按位AND和按位OR

Time Limit: 1000 ms Memory Limit: 65536 KiB

Submit Statistic

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
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
using namespace std;
int a[65], b[65];
int main()
{
    int n, i;
    while(cin >> n)
    {
        memset(a, 0, sizeof(a));
        memset(b, 0, sizeof(b));
        for(i = 1; i <= n; i++)
        {
            cin >> a[i];
        }
        for(i = 1; i <= n; i++)
        {
            cin >> b[i];
        }
        for(i = 1; i <= n; i++)
        {
            if(a[i] == 1 && b[i] == 1)
            {
                if(i == 1)  printf("1");
                else  printf(" 1");
            }
            else
            {
                if(i == 1)  printf("0");
                else  printf(" 0");
            }
        }
        cout << endl;
        for(i = 1; i <= n; i++)
        {
            if(a[i] == 0 && b[i] == 0)
            {
                if(i == 1)  printf("0");
                else  printf(" 0");
            }
            else
            {
                if(i == 1)  printf("1");
                else  printf(" 1");
            }
        }
        cout << endl;
    }
    return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章