1. paizaラーニングトップ
  2. レベルアップ問題集
  3. 素数メニュー(言語選択)
  4. 問題一覧 Java編
  5. 約数の個数

素数メニューのサムネイル
約数の個数 (paizaランク C 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

整数 N が与えられるので、N の約数が何個あるかを求めましょう。
なお、ある整数 N の約数の個数は、N を素因数分解したときに現れる全ての{素数の累乗 + 1} の積であることが知られています。
よって、整数 N をN = (p^n)(q^m)(r^l)... と素因数分解できるとき、約数の個数は(n+1)(m+1)(l+1)...となります。
例として、12 の約数の個数は 12 = 2^2 × 3^1 より、(2+1)×(1+1) = 6 個と求まります。

入力される値

N


・ 1 行で整数 N が与えられます。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

N の約数の個数を 1 行で出力してください。
出力の末尾には改行を入れてください。

条件

・ 1 ≦ N ≦ 100,000

入力例1

15

出力例1

4

入力例2

100

出力例2

9

問題一覧へ戻る

ページの先頭へ戻る