回答編集履歴
3
誤字の修正
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
- 残念ながら約数1を数え損なっています。
|
10
10
|
|
11
|
-
- 友愛数は「異なる2つの自然数」という条件がついていますの
|
11
|
+
- 友愛数は「異なる2つの自然数」という条件がついていますので、x==jになる完全数は含みません。またxとjが交換してできる組みは同じ友愛数の組みとみなしますので、表示から除く必要があります。
|
12
12
|
|
13
13
|
|
14
14
|
|
2
補足追記
test
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
結果、以下のようにすると動作します。
|
15
|
+
結果、以下のようにすると動作します。なお、私のmacで実行時間は7秒です。
|
16
16
|
|
17
17
|
|
18
18
|
|
1
完全数を除きました
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
以下の
|
1
|
+
以下の4つの観点で修正が必要です。
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -7,6 +7,8 @@
|
|
7
7
|
- しかし冒頭に約数リストを初期化しただけだと、以降、約数リストがどんどん膨らんでしまいます。そのため初期化の位置をずらす必要があります。
|
8
8
|
|
9
9
|
- 残念ながら約数1を数え損なっています。
|
10
|
+
|
11
|
+
- 友愛数は「異なる2つの自然数」という条件がついていますのので、x==jになる完全数は含みません。またxとjが交換してできる組みは同じ友愛数の組みとみなしますので、表示から除く必要があります。
|
10
12
|
|
11
13
|
|
12
14
|
|
@@ -28,6 +30,10 @@
|
|
28
30
|
|
29
31
|
j=sum(divisorlist)
|
30
32
|
|
33
|
+
if x >= j:
|
34
|
+
|
35
|
+
continue
|
36
|
+
|
31
37
|
z =[]
|
32
38
|
|
33
39
|
for h in range (1,j):
|