查找两组数字值的因数数量的Python程序

查找两组数字值的因数数量的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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程