【华为OD机试真题】 统计差异值大于相似值二元组个数(javapython)
统计差异值大于相似值二元组个数
知识点数组进制转换Q整数范围循环
时间限制:1s空间限制:256MB限定语言:不限
题目描述:
题目描述:对于任意两个正整数A和B,定义它们之间的差异值和相似值:
差异值:A、B转换成二进制后,对于二进制的每一位,对应位置的bit值不相同则为 1,否则为0;相似值:A、B转换成二进制后,对于二进制的每一位,对应位置的bit值都为1则为 1,否则为0;现在有n个正整数A0到A(n-1),问有多少对(i,j)(0<=i<j<n),Ai和Aj的差异值 大于相似值。
假设A=5,B=3;则A的二进制表示101;B的二进制表示011;则A与B的差异值二进制为110;相似值二进制为001;A与B的差异值十进制等于6,相似值十进制等于 1,满足条件。
输入描述:
输入:一个n接下来n个正整数
数据范围:1<=n<=105,1<=A[i]<230
输出描述:
输出:满足差异值大于相似值的对数
示例1
输入:
4