gpt4 book ai didi

python - Python 中的大多数除数

转载 作者:行者123 更新时间:2023-12-01 04:07:06 24 4
gpt4 key购买 nike

我想编写一个名为 find_integer_with_most_divisors 的函数,它接受整数列表并从列表中返回具有最多除数的整数。如果出现平局,则返回除数最多的第一项。

例如:

如果列表是: [8、12、18、6]

在此列表中,8 有四个约数,分别是: [1,2,4,8] ; 12 有 6 个约数,分别是:[1,2,3,4,6,12]; 18 有 6 个约数,分别是: [1,2,3,6,9,18] ; 6 有四个约数:[1,2,3,6]。请注意,12 和 18 都与最大除数数相关(两者都有 6 个除数)。我的函数应该返回除数最大的第一项;所以它应该返回: 12

<小时/>

现在我编写了以下代码来查找列表中每个数字的除法。任何人都可以帮助我继续这个功能吗?谢谢。

def find_integer_with_most_divisors(input_list):
for i in input_list:
my_list = []
for x in range(1,i+1):
if i % x == 0:
my_list.append(i)

最佳答案

您可以在函数中创建除数数量列表,然后将该列表中的最大数字与原始列表进行匹配:

def find_integer_with_most_divisors(input_list):
nr_divisors = []
for i in input_list:
my_list = []
for x in range(1, i+1):
if i % x == 0:
my_list.append(x)
nr_divisors.append(len(my_list))
return input_list[nr_divisors.index(max(nr_divisors))]

a = [8, 12, 18, 6]

print find_integer_with_most_divisors(a)

返回

12

关于python - Python 中的大多数除数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35415018/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com