Problem1200--计算由两个整数生成的两个合法代码的码距

1200: 计算由两个整数生成的两个合法代码的码距

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 1  Solved: 1
[Submit] [Status] [Web Board] [Creator:]

Description

合法代码定义由16个二进制数字字符组成的字符串。例如“0000000000100101”是一个合法代码。 码距是指两个合法代码中对应位数字字符不同的位数。例如,合法代码“0000000000100101”和“0000000000001110”自右向左在第1,2,4,6位上具有不同数字字符,因此这两个合法代码的码距为4.

【编程要求】

1 编写函数int hamming(int x,int y,char a[],char b[]) 实现以下功能,先将形参x和y分别转化为2个合法代码并按从低位到高位的顺序分别保存2个合法代码到a和b指向的数组中(不足16位是高位补字符0),再计算a数组和b数组中的两个合法代码的码距,函数返回该码距。

2 编写函数main实现以下功能:声明字符数组a,b和变量m 、n,输入两个整数并保存到m和 n中(m,n的值在0~32767范围内)。用m,n和数组a,b作为实参调用hamming函数。计算由m和n生成的合法代码的码距,将a,b数组中存储的合法代码及这两个代码的码距输出到屏幕

Sample Input

16 8

Sample Output

a:0000000000010000
b:0000000000001000
distance of 16 and 8 is 2

Source/Category