Suppose we have two arrays called nums1 and nums2. We have to find the number of values that satisfy the following conditions −
The elements in nums1 are the factors of the elements which are being selected
The elements which are selected is a factor of all of the elements of nums2
So, if the input is like nums1 = [3,9] nums2 = [27, 81], then the output will be 2 because the numbers are 9 and 27, because
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.
To solve this, we will follow these steps −
- count := 0
- for i in range 1 to 100, do
- flag := True
- for each j in nums1, do
- if i mod j is not 0, then
- flag := False
- come out from the loop
- if i mod j is not 0, then
- if flag is true, then
- for each k in nums2, do
- if k mod i is not 0, then
- flag := False
- come out from the loop
- if k mod i is not 0, then
- for each k in nums2, do
- if flag is true, then
- count := count + 1
- return count
Example
Let us see the following implementation to get better understanding
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))
Input
[3,9], [27, 81]
Output
1