第一题的,根据楼上大哥的思路写出来的,大家看看有没有问题😑,还有感觉会超时。。。 def t1(ls):     dt = [{} for _ in range(len(ls))]     haset = set()     for i in range(len(ls)):         num = ls[i]         while num % 2 == 0:             dt[i][2] = dt[i].get(2, 0) + 1             num //= 2             haset.add(2)         j = 3         while j <= num**0.5:             if num % j == 0:                 dt[i][j] = dt[i].get(j, 0) + 1                 num //= j                 haset.add(j)             else:                 j += 2         if num > 3:             dt[i][num] = dt[i].get(num, 0) + 1             haset.add(num)     ans = 0     for num in haset:         odd, even = 0, 0         for dtt in dt:             if dtt.get(num, 0) % 2 == 0:                 even += 1             else:                 odd += 1         ans += min(even, odd)     return dt, ans if __name__ == '__main__&(688)#39;:     print(t1([1002, 98, 14, 68]))