約数・素因数分解

自然数の約数の一覧・個数・和・素因数分解を求めます。2数を入れると最大公約数・最小公倍数も出します。

入力

素因数分解

—

約数の個数 —
約数の和 —
約数の一覧

—

※ 入力は 1 以上の整数。約数を全列挙するため、上限は 1,000 万(10,000,000)までです。

解説

自然数を入力すると、その「約数」(割り切れる数)の一覧・個数・合計と、「素因数分解」をまとめて求めるツールです。約数とは、ある整数を余りなく割り切れる正の整数のこと。たとえば12の約数は 1, 2, 3, 4, 6, 12 の6個です。学校の宿題の確認、分数の約分の準備、図形を等分するときの割り切れる個数探しなど、整数の性質を素早く知りたい場面で使えます。

約数の列挙は、1からその数の平方根(√n)までを順に調べ、割り切れた数 i と、その相方である n÷i をペアで集める方法で行います。約数は必ずペアで現れる(たとえば36なら 1と36、2と18、3と12、4と9、6と6)ため、√nまで調べれば漏れなく全部そろいます。集めた約数をすべて足したものが「約数の和」です。

素因数分解は、その数を素数(2, 3, 5, 7…)の掛け算だけで表したものです。2から順に割れるだけ割り、割れた回数を指数にします。表示は「2²×3×5」のように指数を上付き文字にします。たとえば360を分解すると 2³×3²×5。指数を使うと約数の個数も簡単に求められ、各指数に1を足して掛け合わせる「(3+1)×(2+1)×(1+1)=24個」となり、実際に360の約数はちょうど24個です。約数の和は (1+2+4+8)×(1+3+9)×(1+5)=15×13×6=1170 と一致します。

2つ目の数を入力すると、2数の「最大公約数(GCD)」と「最小公倍数(LCM)」も計算します。最大公約数は両方を割り切れる最大の数で、計算には『ユークリッドの互除法』(大きい方を小さい方で割った余りを使って割り算を繰り返す方法)を使います。最小公倍数は「2数の積 ÷ 最大公約数」で求めます。たとえば360と48なら、最大公約数は24、最小公倍数は (360÷24)×48=720 です。約分やスケジュールの周期合わせに役立ちます。

素数(1とその数自身しか約数を持たない数)を入れると、約数は2個・素因数分解はその数自身になります。たとえば7なら約数は 1, 7 の2個で、素因数分解は7。1は特別で、約数は1のみ・素因数を持たない数として扱います。

約数を1つずつ全列挙する方式のため、入力できるのは1以上の整数で、上限は1,000万(10,000,000)です。これより大きい数や、小数・負の数を入力するとエラー表示になります。計算はすべてブラウザ内で完結し、入力した数値が外部に送信されることはありません。

よくある質問

素因数分解のやり方は?

小さい素数から順に割れるだけ割っていきます。たとえば360なら 360÷2=180、÷2=90、÷2=45(ここまで2で3回)、÷3=15、÷3=5(3で2回)、最後に5。よって 2³×3²×5 です。このツールは同じ手順を自動で行い、上付き文字で表示します。

約数の個数や和はどう求めていますか?

1からその数の平方根までを順に調べ、割り切れた数とその相方をペアで約数として集めます。和はそれらをすべて足した値です。素因数分解の指数を使う方法(各指数+1を掛ける)でも同じ個数になります。

最大公約数の求め方は?

ユークリッドの互除法を使います。大きい数を小さい数で割り、余りが出たら「小さい数」と「余り」で同じ割り算を繰り返し、余りが0になったときの割る数が最大公約数です。例: 360と48なら 360÷48=余り24、48÷24=余り0 なので最大公約数は24。

最小公倍数の求め方は?

「2数の積 ÷ 最大公約数」で求めます。先に最大公約数を出してから割るのがコツです。例: 360と48は積が17280、最大公約数が24なので 17280÷24=720 が最小公倍数です。

素数を入力するとどうなりますか?

素数は約数が1とその数自身の2個だけで、素因数分解はその数自身になります(例: 7 → 7、13 → 13)。約数がちょうど2個なら、その数は素数だと判断できます。

1の約数や素因数はどうなりますか?

1の約数は1のみ(1個)で、素因数は持ちません。表示も「1(素因数なし)」となります。

なぜ1,000万までの制限があるのですか?

約数を1つずつ全部列挙する方式のため、大きすぎる数では計算が重くなります。そのため上限を1,000万(10,000,000)に設定しています。