1.3按位AND和按位OR
Time Limit: 1000 msMemory 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 <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a[77],b[87];
int n,i;
while(scanf("%d",&n)!=EOF){
for(i=0;i<n;i++)
cin>>a[i];
for(i=0;i<n;i++)
cin>>b[i];
for(i=0;i<n-1;i++)
if(a[i]&&b[i])
printf("1 ");
else
printf("0 ");
if(a[i]&&b[i])
printf("1\n");
else
printf("0\n");
for(i=0;i<n-1;i++)
{
if(a[i]||b[i])
printf("1 ");
else
printf("0 ");
}
if(a[i]||b[i])
printf("1\n");
else
printf("0\n");
}
return 0;
}
本文介绍了一个简单的程序实例,通过输入两个位串,实现按位AND和按位OR的操作,并输出相应的结果。文章重点在于理解位运算的基本概念及其实现方式。
818

被折叠的 条评论
为什么被折叠?



