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

回答編集履歴

2

コード修正

2018/10/16 13:51

投稿

katoy
katoy

スコア22328

answer CHANGED
@@ -16,13 +16,13 @@
16
16
  int sum = 0;
17
17
  for (int i = 2; i <= m; i++) {
18
18
  if (x % i == 0) {
19
- int i2 = x / i;
19
+ sum += (i + x / i);
20
- sum += i;
21
- if (i2 != i) {
22
- sum += i2;
23
- }
24
20
  }
25
21
  }
22
+
23
+ if (m * m == x) {
24
+ sum -= m;
25
+ }
26
26
  return sum + 1;
27
27
  }
28
28
 

1

変更 (indent)

2018/10/16 13:51

投稿

katoy
katoy

スコア22328

answer CHANGED
@@ -19,7 +19,7 @@
19
19
  int i2 = x / i;
20
20
  sum += i;
21
21
  if (i2 != i) {
22
- sum += i2;
22
+ sum += i2;
23
23
  }
24
24
  }
25
25
  }
@@ -31,7 +31,7 @@
31
31
  int sum_a = div_sum(a);
32
32
  if (sum_a > a) {
33
33
  if (a == div_sum(sum_a)) {
34
- printf("(%d, %d)\n", a, sum_a);
34
+ printf("(%d, %d)\n", a, sum_a);
35
35
  }
36
36
  }
37
37
  }