私は、リストで提供されるときに、ほとんどの除数で整数を返す関数を作成しようとしています。ほとんどの除数との整数を見つける
def number_of_divisors(k):
count = 0
for number in range(1, k+1):
if k % number == 0:
count += 1
return count
def max_divisors(list_i):
return(max(list_i, key = number_of_divisors))
この機能は問題なく機能します。しかし、[8,12,18,6]、12と18のようなリストが提供されている場合、除数の最大数に縛られます。それは、除数の最大数が12である最初の項目だけを返します。それは18を返すようにしたいと思います。これを達成する方法は?
この質問は適切に尋ねられますが、OPが書いたコードを提供していますが、何かを解決するためには助けを求めます。これは、SOのルールを尊重しているので、閉鎖されている必要はありません。 –
一般に、 'number_of_divisors'関数は' O(n) 'よりもはるかに高速化できます。 – Cireo