1.如果有奇数:直接合并是最少的,因为只要一次就能减少一个奇数,而除2操作至少需要1次才能消除一个偶数 2.如果没有奇数:先找到含最少2因子的数,把他除2得到奇数,然后按照情况1来做
t = int(input())
for _ in range(t):
n = int(input())
a = list(map(int, input().split()))
小红有一列正整数组成的数列,支持两种操作:
选取一个偶数,使其值减半
选取两个数字,移除并替换为两个数字的和
小红最终希望能够得到一个全为奇数的数列,请计算最少需要操作几次
第一行一个数字T,代表测试用例组数(0<T≤10)
对于每个测试用例:
第一行为n,代表数组长度,(0<n≤105)
第二行n个正整数,ai,(0<ai<1014)
对于每个测试用例,输出一个数字,代表最少需要操作次数
输入
3
3
2 4 4
2
1 9
5
1 2 3 4 5
输出
3
0
2
说明