回答編集履歴

2

コメントが付いたので、それに対応したコードを追加

2020/12/11 04:41

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -57,3 +57,45 @@
57
57
  質問は編集できます。
58
58
 
59
59
  また、回答にはコメントをお願いします。
60
+
61
+
62
+
63
+ **追記2**
64
+
65
+ x と y を関数bf の内部関数にしたのは、bf のローカル変数 count にアクセスするためです。
66
+
67
+ count をグローバル変数にすると、x と y は bf の外に出せます。
68
+
69
+ ```Python
70
+
71
+ def y(i, j):
72
+
73
+ return y(i, j-1) + (A[i-1] % A[j-1] != 0) if j != 0 else 0
74
+
75
+
76
+
77
+ def x(i):
78
+
79
+ if i != 0:
80
+
81
+ x(i-1)
82
+
83
+ count.append(y(i, len(A)))
84
+
85
+
86
+
87
+ def bf(A):
88
+
89
+ x(len(A))
90
+
91
+
92
+
93
+ count = []
94
+
95
+ A = [3, 1, 2, 3, 6]
96
+
97
+ bf(A)
98
+
99
+ print(count)
100
+
101
+ ```

1

質問の記述について問題点を指摘

2020/12/11 04:41

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -39,3 +39,21 @@
39
39
  print(C)
40
40
 
41
41
  ```
42
+
43
+ **追記**
44
+
45
+ > 問題内容は、Aにはいるリストの各数値に対して割り切れる数値がリスト内に何個あるかをカウントしたリストを返すという問題です。
46
+
47
+
48
+
49
+ > A[0] = 3, the non-divisors are: 2, 6、したがって割り切れない数値は2個
50
+
51
+
52
+
53
+ 質問には、「割り切れる数値」と「割り切れない数値」いう矛盾した記述があります。
54
+
55
+ the non-divisors are とあるので、「約数でないもの」と言い換えたほうが良いのではありませんか?
56
+
57
+ 質問は編集できます。
58
+
59
+ また、回答にはコメントをお願いします。