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

回答編集履歴

1

説明の訂正

2018/08/15 12:20

投稿

退会済みユーザー
answer CHANGED
@@ -4,8 +4,9 @@
4
4
 
5
5
  例えば、```n```が2で割り切れたら、```n / 2```も```n```の約数です。(約数の性質)
6
6
  つまり、```n```の平方根の整数部分までの約数の個数を求めそれを2倍すればいいのです。
7
- ここで、注意すべき点は```n```が平方数の場合です。この場合はさらに1加えればいいでしょう。
7
+ ここで、注意すべき点は```n```が平方数の場合です。~~この場合はさらに1加えればいいでしょう。
8
-
8
+ ~~
9
+ この場合は平方数の部分が重複するので1減らす必要があります。
9
10
  ### コードはまだ作成していないけれど、他に思いついた方法について
10
11
 
11
12
  約数の個数を求める方法なら素因数分解して求めるのが一番 はやいと思います。
@@ -39,7 +40,7 @@
39
40
  }
40
41
  }
41
42
  if(is_square(n)){
42
- sum++;
43
+ sum--;
43
44
  }
44
45
  return sum;
45
46
  }