teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

追記

2018/09/13 05:12

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -15,6 +15,10 @@
15
15
  とりあえずここまで書いてみましょう。
16
16
  重複を排除するには集合を使えば良いですが、後からでもできます。
17
17
 
18
+ **追記:**
19
+ 集合をいちいち使うのは社交数を意識してのことですが、
20
+ こと友愛数に限るならばStars1024さんの方法のように大小関係を見た方が良いかもです。
21
+
18
22
  気になる事
19
23
  ---
20
24
  - **雑な命名**

2

追記

2018/09/13 05:12

投稿

LouiS0616
LouiS0616

スコア35678

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

修正

2018/09/13 04:41

投稿

LouiS0616
LouiS0616

スコア35678

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
+ 今回の場合、約数を列挙する部分は関数にした方が扱いやすいです。