题目:要使给定数组里的数全部变成奇数,你可以选择相同的元素进行一次除以二的操作。求把所有数都变成奇数的最小操作
思路:有一些大的数字除以2之后会得到在数组中与之相同的元素,将出现过的元素全部记录在集合(set)中,最后,set的长度就是最小操作次数
for _ in range(int(input())):
n = int(input())
a = [*map(int, input().split())]
ans = set()
for i in a:
while i%2==0:
ans.add(i)
i //= 2
print(len(ans))