回答編集履歴

3

誤字の修正

2020/11/03 06:29

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  - 残念ながら約数1を数え損なっています。
10
10
 
11
- - 友愛数は「異なる2つの自然数」という条件がついていますので、x==jになる完全数は含みません。またxとjが交換してできる組みは同じ友愛数の組みとみなしますので、表示から除く必要があります。
11
+ - 友愛数は「異なる2つの自然数」という条件がついていますので、x==jになる完全数は含みません。またxとjが交換してできる組みは同じ友愛数の組みとみなしますので、表示から除く必要があります。
12
12
 
13
13
 
14
14
 

2

補足追記

2020/11/03 06:29

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
 
14
14
 
15
- 結果、以下のようにすると動作します。
15
+ 結果、以下のようにすると動作します。なお、私のmacで実行時間は7秒です。
16
16
 
17
17
 
18
18
 

1

完全数を除きました

2020/11/03 06:28

投稿

toast-uz
toast-uz

スコア3266

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):