使用 Python 检查包含质数的数组的乘积是否为完全平方数


假设我们有一个包含所有质数的数组 nums。我们必须检查 nums 中所有数字的乘积是否是完全平方数。

因此,如果输入为 nums = [3,3,7,7],则输出将会是 True,因为 nums 中所有元素的乘积是 441,这是完全平方数,因为 21^2 = 441。

要解决这个问题,我们需要遵循以下步骤:

  • m := 包含 nums 中所有元素及其频率的地图
  • 对于 nums 中的每个键执行以下操作:
    • 如果 m[key] 是奇数,则
      • 返回 False
  • 返回 True

示例

为了更好地理解,我们来看看以下实现方式:

 在线演示

from collections import defaultdict
def solve(nums) :
   m = defaultdict(int)
   for key in nums :
      m[key] += 1
   for key in nums :
      if m[key] % 2 == 1 :
         return False
   return True
nums = [3,3,7,7]
print(solve(nums))

输入

[3,3,7,7]

Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.

输出

True

更新日期:19-Jan-2021

134 次浏览

开启你的 职业生涯

完成课程获得认证

开始
广告