(每日一练)题目名称:凑数
给定一组n个正整数,要求每次选其中一个数乘以或除以一个素数(称为一次凑数),问至少需要凑数多少次可以把所有的数都凑成相等。
可以把所有的数都凑成相等需要至少进行的凑数次数t(t>=0)。
周赛57期的新题目,当时没能 ac ,然后,今天随便弄了弄,居然 ac 了,但不明白为什么 ac 的,呵呵
arr = list(map(int,input().split()))
n,m = len(arr),int(max(arr) ** .5 + 1)
ans = 0
for i in range(2,m):
z = []
for j in range(n):
c = 0
while arr[j] % i == 0:
c += 1
arr[j] //= i
z.append(c)
ans += sum(z) - min(z) * n
print(ans + n - arr.count(1))
...全文


