Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 49 Accepted Submission(s) : 20
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
你听说过 二进制距离吗? 它是两个数二进制表示方式中, 相对应位置上不同数字
的个数。你的任务就是写一个程序计算两个二进制字符串表示的数的二进制距离.
的个数。你的任务就是写一个程序计算两个二进制字符串表示的数的二进制距离.
Input
输入包含几个测试数据。每个测试数据占两行,每一行包含一个二进制数,每个测试数据包含的两个二进制数具有相同的长度,并且最长 100 个二进制数。测试数据的最后包含一个大写字母“ X” .
Output
对于每组测试数据,输出一行。每行输出表示两个二进制数不同二进制位的个数。
Sample Input
0 1 000 000 1111111100000000 0000000011111111 101 000 X
Sample Output
1 0 16 2
解题说明:水题,字符串比较
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
#define maxn 105
char a[maxn],b[maxn];
int main()
{
// freopen("in.txt","r",stdin);
// freopen("out.txt","w",stdout);
while(~scanf("%s",a)&&a[0]!='X')
{
scanf("%s",b);
int sum=0;
for(int i=0;i<strlen(a);i++)
if(a[i]!=b[i]) sum++;
printf("%d\n",sum);
}
return 0;
}