当コードは、Codilitiyというコーディングテストのサイトの問題を自分で解いたコードです。
問題内容は、Aにはいるリストの各数値に対して割り切れる数値がリスト内に何個あるかをカウントしたリストを返すという問題です。
問題は解くことができたのですが、二重ループをつかった解法しかかけず、分割統治法でどうにかいけないかと模索しています。
なにか、お気づきの点ありましたらご教示いただけますと助かります。
brute force式の解法
python
1A = [3,1,2,3,6] 2count = [] 3for xi in range(len(A)): 4 count.append(0) 5 for yi in range(len(A)): 6 if A[xi]%A[yi] != 0 and A[xi]!= A[yi]: 7 count[xi]+=1
アウトプット
[2, 4, 3, 2, 0]
*アウトプットの補足
A[0] = 3, the non-divisors are: 2, 6、したがって割り切れない数値は2個
A[1] = 1, the non-divisors are: 3, 2, 3, 6,したがって割り切れない数値は4個
A[2] = 2, the non-divisors are: 3, 3, 6,したがって割り切れない数値は3個
A[3] = 3, the non-divisors are: 2, 6,したがって割り切れない数値は2個
A[4] = 6, there aren't any non-divisors.したがって割り切れない数値は0個
*参照URL
stackoverflow
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/11 03:37
2020/12/11 04:52