Computer >> Máy Tính >  >> Lập trình >> Python

Kiểm tra xem tích của mảng chứa số nguyên tố có phải là một hình vuông hoàn hảo trong Python hay không

Giả sử chúng ta có một số mảng với tất cả các số nguyên tố. Chúng ta phải kiểm tra xem tích của tất cả các số có trong nums có phải là một hình vuông hoàn hảo hay không.

Vì vậy, nếu đầu vào là nums =[3,3,7,7], thì đầu ra sẽ là True vì tích của tất cả các phần tử trong nums là 441, là một hình vuông hoàn hảo là 21 ^ 2 =441.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • m:=một bản đồ chứa tất cả các phần tử ở dạng num và tần số của chúng
  • đối với mỗi khóa trong nums, hãy thực hiện
    • nếu m [key] là số lẻ, thì
      • trả về Sai
  • trả về True

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

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))

Đầu vào

[3,3,7,7]

Đầu ra

True