回答編集履歴

3

追記

2018/09/13 05:12

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -32,6 +32,14 @@
32
32
 
33
33
 
34
34
 
35
+ **追記:**
36
+
37
+ 集合をいちいち使うのは社交数を意識してのことですが、
38
+
39
+ こと友愛数に限るならばStars1024さんの方法のように大小関係を見た方が良いかもです。
40
+
41
+
42
+
35
43
  気になる事
36
44
 
37
45
  ---

2

追記

2018/09/13 05:12

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -32,14 +32,28 @@
32
32
 
33
33
 
34
34
 
35
+ 気になる事
36
+
35
37
  ---
36
38
 
39
+ - **雑な命名**
40
+
37
- プログラミングの際には**意味のある命名**を心掛けましょう。
41
+ プログラミングの際には意味のある命名を心掛けましょう。
38
42
 
39
43
  読みやすくなるだけでなく、思考も整理されます。
40
44
 
41
45
 
42
46
 
47
+ - **if, for, while縛り**
48
+
43
- また、関数を適宜作成するようにしましょう。
49
+ 関数を適宜作成するようにしましょう。
44
50
 
45
51
  今回の場合、約数を列挙する部分は関数にした方が扱いやすいです。
52
+
53
+
54
+
55
+ - **巨大なテスト**
56
+
57
+ いきなり15000弱もループしたらデバッグしづらいです。
58
+
59
+ 人手で検証できるレベルから始めましょう。

1

修正

2018/09/13 04:41

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  if sum(b_divisors[:-1]) == a:
22
22
 
23
- amicable_numbers.append(a, b)
23
+ amicable_numbers.append((a, b))
24
24
 
25
25
  ```
26
26
 
@@ -34,6 +34,12 @@
34
34
 
35
35
  ---
36
36
 
37
- また、プログラミングの際には**意味のある命名**を心掛けましょう。
37
+ プログラミングの際には**意味のある命名**を心掛けましょう。
38
38
 
39
39
  読みやすくなるだけでなく、思考も整理されます。
40
+
41
+
42
+
43
+ また、関数を適宜作成するようにしましょう。
44
+
45
+ 今回の場合、約数を列挙する部分は関数にした方が扱いやすいです。