检查给定的数组是否包含Python中某个整数的所有除数
假设我们有一个数组nums,我们必须检查此数组是否包含某个整数的所有除数。
因此,如果输入类似于nums=[1、2、3、4、6、8、12、24],则输出将为True,因为它们是24的除数。
为了解决这个问题,我们将遵循以下步骤-
最大:=最大数字
temp:=一个新列表
对于范围1到最大值的平方根的i,执行
如果temp[i]与nums[i]不同,则
返回False
返回False
在temp的末尾插入i
如果(maximum/i)的商与i不相同,则
在temp的末尾插入(maximum/i)的商
如果最大值可被i整除,则
如果temp的大小与nums的大小不同,则
排序列表nums和temp
对于范围从0到nums的i-1,执行
返回True
让我们看下面的实现以更好地理解-
范例程式码
from math import sqrt
def solve(nums):
maximum = max(nums)
temp = []
for i in range(1,int(sqrt(maximum))+1):
if maximum % i == 0:
temp.append(i) if (maximum //我!=我):
temp.append(maximum //一世)
if len(temp) != len(nums):
return False
nums.sort() temp.sort()
for i in range(len(nums)):
if temp[i] != nums[i]:
return False
return True
nums = [1, 2, 3, 4, 6, 8, 12, 24]
print(solve(nums))输入值
[1, 2, 3, 4, 6, 8, 12, 24]输出结果
True