回答編集履歴
3
追記
answer
CHANGED
@@ -15,6 +15,10 @@
|
|
15
15
|
とりあえずここまで書いてみましょう。
|
16
16
|
重複を排除するには集合を使えば良いですが、後からでもできます。
|
17
17
|
|
18
|
+
**追記:**
|
19
|
+
集合をいちいち使うのは社交数を意識してのことですが、
|
20
|
+
こと友愛数に限るならばStars1024さんの方法のように大小関係を見た方が良いかもです。
|
21
|
+
|
18
22
|
気になる事
|
19
23
|
---
|
20
24
|
- **雑な命名**
|
2
追記
answer
CHANGED
@@ -15,9 +15,16 @@
|
|
15
15
|
とりあえずここまで書いてみましょう。
|
16
16
|
重複を排除するには集合を使えば良いですが、後からでもできます。
|
17
17
|
|
18
|
+
気になる事
|
18
19
|
---
|
20
|
+
- **雑な命名**
|
19
|
-
プログラミングの際には
|
21
|
+
プログラミングの際には意味のある命名を心掛けましょう。
|
20
22
|
読みやすくなるだけでなく、思考も整理されます。
|
21
23
|
|
24
|
+
- **if, for, while縛り**
|
22
|
-
|
25
|
+
関数を適宜作成するようにしましょう。
|
23
|
-
今回の場合、約数を列挙する部分は関数にした方が扱いやすいです。
|
26
|
+
今回の場合、約数を列挙する部分は関数にした方が扱いやすいです。
|
27
|
+
|
28
|
+
- **巨大なテスト**
|
29
|
+
いきなり15000弱もループしたらデバッグしづらいです。
|
30
|
+
人手で検証できるレベルから始めましょう。
|
1
修正
answer
CHANGED
@@ -9,12 +9,15 @@
|
|
9
9
|
b_divisors = bの約数のリスト
|
10
10
|
|
11
11
|
if sum(b_divisors[:-1]) == a:
|
12
|
-
amicable_numbers.append(a, b)
|
12
|
+
amicable_numbers.append((a, b))
|
13
13
|
```
|
14
14
|
|
15
15
|
とりあえずここまで書いてみましょう。
|
16
16
|
重複を排除するには集合を使えば良いですが、後からでもできます。
|
17
17
|
|
18
18
|
---
|
19
|
-
|
19
|
+
プログラミングの際には**意味のある命名**を心掛けましょう。
|
20
|
-
読みやすくなるだけでなく、思考も整理されます。
|
20
|
+
読みやすくなるだけでなく、思考も整理されます。
|
21
|
+
|
22
|
+
また、関数を適宜作成するようにしましょう。
|
23
|
+
今回の場合、約数を列挙する部分は関数にした方が扱いやすいです。
|