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 tôi mod j không phải là 0, thì
- 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 k mod i không phải là 0, thì
- với mỗi k trong nums2, thực hiện
- 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