查找两组数字值的因数数量的Python程序
假设我们有两个称为nums1和nums2的数组。我们必须找到满足以下条件的值的数量−
- nums1中的元素是被选元素的因数
-
被选元素是nums2所有元素的因数
因此,如果输入是nums1 = [3,9] nums2 = [27,81],那么输出将为2,因为数字是9和27,因为:
- 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。
为了解决这个问题,我们将遵循以下步骤−
- 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
- 退出循环
- if flag is true, then
- for each k in nums2, do
- if k mod i is not 0, then
- flag := False
- 退出循环
- if flag is true, then
- count := count + 1
- return count
示例
让我们看下面的实现,以获得更好的理解
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))
输入
[3,9], [27, 81]
输出
1