📅  最后修改于: 2023-12-03 15:22:57.052000             🧑  作者: Mango
在编程中,经常需要找到能够被给定数组中所有元素整除的最小完全平方数。以下是一个简短的解决方案。
import numpy as np
def find_smallest_square(arr):
lcm = np.lcm.reduce(arr)
return lcm // (lcm^(1/2))**2
上述代码使用NumPy库中的lcm
函数来计算数组中所有元素的最小公倍数。然后通过将最小公倍数除以最小公倍数的平方根的平方来计算最小的完全平方数。因为最小公倍数已经包含了所有元素之间的公共因数,我们不必考虑数组中的每个元素。
该函数返回一个整数,即可被数组所有元素整除的最小完全平方数。
以下是使用该函数的示例代码:
arr = [2, 3, 4, 5, 6]
smallest_square = find_smallest_square(arr)
print(smallest_square)
输出示例:
900
本解决方案简单而高效,对于任何大小的数组都适用。