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

Chương trình tìm thừa số giá trị của hai bộ số

Giả sử chúng ta có hai mảng được gọi là nums1 và nums2. Chúng ta phải tìm số lượng giá trị thỏa mãn các điều kiện sau -

  • Các phần tử trong nums1 là các phần tử của các phần tử đang được chọn

  • Các phần tử được chọn là một phần tử của tất cả các phần tử của nums2

Vì vậy, nếu đầu vào là nums1 =[3,9] nums2 =[27, 81], thì đầu ra sẽ là 2 vì các số là 9 và 27, bởi vì

  • 9 mod 3 =0

  • 9 mod 9 =0

  • 27 mod 9 =0

  • 81 mod 9 =0

  • 27 mod 3 =0

  • 27 mod 9 =0

  • 27 mod 27 =0

  • 81 mod 27 =0.

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

  • số lượng:=0
  • đối với tôi trong phạm vi từ 1 đến 100, hãy thực hiện
    • cờ:=True
    • đối với mỗi j trong nums1, thực hiện
      • nếu tôi mod j không phải là 0, thì
        • cờ:=Sai
        • ra khỏi vòng lặp
    • nếu cờ là true, thì
      • với mỗi k trong nums2, thực hiện
        • nếu k mod i không phải là 0, thì
          • cờ:=Sai
          • ra khỏi vòng lặp
    • nếu cờ là true, thì
      • count:=count + 1
  • số lần trả lại

Ví dụ

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

def solve(nums1, nums2):
   count = 0
   for i in range(1,101):
      flag = True
      for j in nums1:
         if i%j != 0:
            flag = False
            break
      if flag:
         for k in nums2:
            if k%i!=0:
               flag = False
               break
      if flag:
         count+=1
         return count

nums1 = [3,9]
nums2 = [27, 81]
print(solve(nums1, nums2))

Đầu vào

[3,9], [27, 81]

Đầu ra

1