数对
问题描述:
下面看一个比较简单的递归函数:
f(0)=0
f(2*x)=f(x)
f(2*x+1)=f(x)+1
现在输入 n 个数 ai,编程统计一共有多少对数字的函数值相同,即如果有 i≠(不等于) j,而 f(ai)=f(aj),则(i,j)算成是符合条件的一对数字,当然(i,j)和(j,i)不需要重复计算。
输入格式:
第一行为正整数 t(≤5),表示数据组数;每组数据中,第一行为正整数 n(≤
10
5),接下来一行为以空格隔开的 n 个正整数 ai(≤10
9)。
输出格式:
对于每组数据,输出函数值相同的数对数目。
P.S.没有看懂这题,各位大佬能不能帮助一下。