約数を調べたい正の整数を1つ入力してください。約数の一覧・約数の個数・掛け算のペア・素因数分解をまとめて計算します。
このページでできること
- 正の整数を1つ入れるだけで、その数の約数をすべて小さい順に列挙します(もれ・重複なし)
- 掛け算するとその数になる「約数のペア」と「約数の個数」も同時にわかります
- 素因数分解(\(120 = 2 \times 2 \times 2 \times 3 \times 5\) のような形)と、割り算の途中式も表示します
- 約数が1とその数自身の2個だけなら素数——素数かどうかの判定にも使えます
- 約数の見つけ方のやさしい解説・Excel/Googleスプレッドシート/Python用のコピペ数式・計算ドリル(演習問題)もこのページにまとまっています
この計算は何の役に立つ?
\(\frac{24}{36}\) を約分するには、分子24と分母36に共通する約数を見つけて割ります(最大公約数の12で割れば一発で \(\frac{2}{3}\))。
約数がぱっと思い浮かぶようになると、約分・通分・比を簡単にする計算がすべて速く正確になります。分数でつまずく子の多くは、実はこの約数の感覚でつまずいています。
120個のお菓子を余りを出さずに同じ数ずつ配れる人数は、120の約数(1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 24, 30, 40, 60, 120)に限られます。
学級の班分け、景品の袋詰め、備品の均等配分——「何人(何袋)ならピッタリ分けられるか」の候補は、約数を列挙すれば全部わかります。
36枚のタイルを余りなく長方形に並べる方法は、約数のペアそのもの——1×36、2×18、3×12、4×9、6×6 の5通りです。
床や壁のタイル割り付け、売り場の商品陳列、式典の座席配置など、「決まった個数を長方形に並べる」場面では、約数のペアがそのまま並べ方の選択肢になります。
14桁程度なら一瞬で終わる素因数分解も、数百桁の巨大な数になると、世界中のコンピュータを使っても現実的な時間では終わらなくなります。インターネットで広く使われてきたRSA暗号は、この「大きな数の素因数分解は事実上できない」ことを安全性の土台にしています。
ネット通販でカード番号を送るとき、あなたの情報を守っている仕組みの根っこに、このページの素因数分解があります。
かみ合う2つの歯車の歯数に共通の約数があると、同じ歯同士が何度も同じ相手に当たるため、摩耗やキズが特定の歯に偏りやすくなります。そこで機械設計では、歯数同士が1以外の共通の約数を持たない(互いに素な)組み合わせを選ぶ工夫がよく使われます。
自動車の変速機から腕時計まで、「約数があるかないか」が製品の寿命に関わる設計要素になっています。
式と図
用語・記号の解説
記号
| \(N\) | エヌ | 約数を調べたい正の整数。(例:120) |
| \(A,\ B\) | エー、ビー | 掛け算すると \(N\) になるペアの約数。(例:\(120 = 4 \times 30\) の 4 と 30) |
| \(p,\ q,\ r\) | ピー、キュー、アール | 素因数分解に出てくる素数(素因数)。(例:\(120 = 2^3 \times 3 \times 5\) の 2、3、5) |
| \(a,\ b,\ c\) | エー、ビー、シー | 素因数分解でそれぞれの素数を掛ける回数(指数)。約数の個数の公式では、これに 1 を足した数を掛け合わせます。(例:\(120 = 2^3 \times 3 \times 5\) なら 2 を掛ける回数 \(a = 3\)、3 と 5 を掛ける回数は \(b = c = 1\)) |
| \(2^{3}\) | 2の3乗 | 2 を 3 回掛け合わせた値(\(2 \times 2 \times 2 = 8\))。右上の小さい数(指数)が掛ける回数を表します。 |
| \(d(N)\) | ディー・エヌ | \(N\) の約数の個数。約数を意味する英語 divisor の頭文字です。(例:\(d(120) = 16\)) |
| \(\sqrt{N}\) | ルート・エヌ | 2乗すると \(N\) になる数(平方根)。約数のペアは必ず片方が \(\sqrt{N}\) 以下になるので、約数探しはここまで調べれば十分です。 |
用語
| 約数 | やくすう | ある整数を割り切ることができる(余りが出ない)正の整数。例:30 の約数は 1, 2, 3, 5, 6, 10, 15, 30 の8個です。1 とその数自身はどんな数でも必ず約数になります。 |
| 倍数 | ばいすう | ある整数を整数倍(1倍、2倍、3倍…)した数。約数と倍数は裏表の関係で、「4 は 120 の約数」と「120 は 4 の倍数」は同じことを言っています。 |
| 素数 | そすう | 1 とその数自身のほかに約数を持たない、2 以上の整数。小さい順に 2, 3, 5, 7, 11, 13…と無限に続きます。1 は素数に含めません。 |
| 合成数 | ごうせいすう | 素数ではない 2 以上の整数のこと。約数が3個以上あり、素数の掛け算の形に分解できます。(1 は素数でも合成数でもありません) |
| 素因数 | そいんすう | ある整数を割り切る素数のこと。例:120 の素因数は 2、3、5 の3種類です。 |
| 素因数分解 | そいんすうぶんかい | 整数を素数だけの掛け算の形に直すこと。例:\(120 = 2 \times 2 \times 2 \times 3 \times 5\) です。分解の仕方は(掛ける順番を除けば)ただ1通りに決まります。 |
| 因数 | いんすう | 掛け算の形に表したときの、掛けられている1つ1つの数や式のこと。英語の factor の訳語で、整数の話では約数とほぼ同じ意味で使われることもありますが、日本の算数・数学では整数の割り切れる関係には「約数」を使うのが標準です(このページも「約数」で統一しています)。 |
| 平方数 | へいほうすう | 同じ整数を2回掛けてできる数。例:\(36 = 6 \times 6\)、\(3600 = 60 \times 60\) です。平方数の約数の個数は(同じ数同士のペアを1回だけ数えるため)必ず奇数になります。 |
| 累乗 (べき乗) |
るいじょう | 同じ数を何回も掛け合わせる計算。\(2^3\) のように右上に小さく書いた数(指数)が掛ける回数を表します。 |
前提として理解しておくといいこと
このページの計算を「意味がわかって」使えるようになるために、前提として理解しておくといいことをまとめました。
| 九九と割り算(小学2〜3年) |
|
| 倍数と約数(小学5年) |
|
| 素数と素因数分解(中学1年) |
|
| 累乗・指数(中学1年) |
|
Excelで計算する方法
| 約数を調べたい数 N | 120 |
| 約数か確かめたい数 A | 4 |
| N ÷ A の余り(0なら約数) | =MOD(B1,B2) |
| ペアの相手の約数 B(余りが0のとき) | =B1/B2 |
| 素因数1 | 2 |
| 素因数2 | 2 |
| 素因数3 | 2 |
| 素因数4 | 3 |
| 素因数5 | 5 |
| すべて掛けた答え(元の数に戻れば正解) | =PRODUCT(B1:B5) |
| 素数 p を掛ける回数 a | 3 |
| 素数 q を掛ける回数 b | 1 |
| 素数 r を掛ける回数 c | 1 |
| 約数の個数 d(N) | =(B1+1)*(B2+1)*(B3+1) |
2つ目の表は素因数分解の検算です。PRODUCT(B1:B5)はB1からB5を全部掛け算する関数で、B6に120と出れば分解が正しいと確かめられます(素因数が5個より少ない数は、余った欄に1を入れてください)。
3つ目の表は約数の個数の公式で、B4に (3+1)×(1+1)×(1+1) = 16 と表示されます。
Googleスプレッドシートで計算する方法
| 約数を調べたい数 N | 120 |
| 約数か確かめたい数 A | 4 |
| N ÷ A の余り(0なら約数) | =MOD(B1,B2) |
| ペアの相手の約数 B(余りが0のとき) | =B1/B2 |
| 素因数1 | 2 |
| 素因数2 | 2 |
| 素因数3 | 2 |
| 素因数4 | 3 |
| 素因数5 | 5 |
| すべて掛けた答え(元の数に戻れば正解) | =PRODUCT(B1:B5) |
| 素数 p を掛ける回数 a | 3 |
| 素数 q を掛ける回数 b | 1 |
| 素数 r を掛ける回数 c | 1 |
| 約数の個数 d(N) | =(B1+1)*(B2+1)*(B3+1) |
Pythonで計算する方法
n = 120 # 約数を調べたい正の整数
divisors = [] # 約数の一覧
pairs = [] # 掛けると n になる約数のペア
i = 1
while i * i <= n: # √n までの数で割ってみれば全部見つかる
if n % i == 0: # 余りが0なら i は約数
divisors.append(i)
if i != n // i: # ペアの相手も約数(平方数の 6×6 のような重複は足さない)
divisors.append(n // i)
pairs.append((i, n // i))
i += 1
divisors.sort()
prime_factors = [] # 素因数分解(小さい素数から割り切れるだけ割り続ける)
rest = n
p = 2
while p * p <= rest:
while rest % p == 0:
prime_factors.append(p)
rest = rest // p
p += 1
if rest > 1:
prime_factors.append(rest) # 最後に残った数も素因数
print(f"{n} の約数({len(divisors)}個): {divisors}")
print(f"約数のペア: {pairs}")
if len(prime_factors) >= 2:
print(f"素因数分解: {n} = {' × '.join(map(str, prime_factors))}")
elif len(prime_factors) == 1:
print(f"{n} は素数です")
数式記述言語(LaTeX等)での書き方(コピペ可)
N = A × B
N = A \times B
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>N</mi>
<mo>=</mo>
<mi>A</mi>
<mo>×</mo>
<mi>B</mi>
</mrow>
</math>
N = A xx B
A*B
N := A*B;
N = A*B;
N = A × B
N = pᵃ × qᵇ × rᶜ × …
N = p^{a} \times q^{b} \times r^{c} \times \cdots
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>N</mi>
<mo>=</mo>
<msup><mi>p</mi><mi>a</mi></msup>
<mo>×</mo>
<msup><mi>q</mi><mi>b</mi></msup>
<mo>×</mo>
<msup><mi>r</mi><mi>c</mi></msup>
<mo>×</mo>
<mo>⋯</mo>
</mrow>
</math>
N = p^a xx q^b xx r^c xx cdots
p^a*q^b*r^c
N := p^a*q^b*r^c;
N = p^a*q^b*r^c;
N = p^a × q^b × r^c × …
d(N) = (a + 1)(b + 1)(c + 1) …
d(N) = (a+1)(b+1)(c+1)\cdots
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>d</mi><mo>(</mo><mi>N</mi><mo>)</mo>
<mo>=</mo>
<mo>(</mo><mi>a</mi><mo>+</mo><mn>1</mn><mo>)</mo>
<mo>(</mo><mi>b</mi><mo>+</mo><mn>1</mn><mo>)</mo>
<mo>(</mo><mi>c</mi><mo>+</mo><mn>1</mn><mo>)</mo>
<mo>⋯</mo>
</mrow>
</math>
d(N) = (a+1)(b+1)(c+1) cdots
(a + 1)*(b + 1)*(c + 1)
d := (a + 1)*(b + 1)*(c + 1);
d = (a + 1)*(b + 1)*(c + 1);
d(N) = (a+1)(b+1)(c+1)…
ChatGPT に聞いて計算してもらう方法
あなたは整数の計算アシスタントです。次の計算を、必ずPythonコードを実際に実行して行い、実行結果の数値だけを根拠に回答してください(暗算や推測で答えないでください)。 120 について、次の値をそれぞれ求めてください。 1. 約数をすべて小さい順に列挙し、個数も数える 2. 掛け算すると 120 になる約数のペアをすべて挙げる 3. 素因数分解する(2 × 2 × 2 × 3 × 5 のような形) 4. 約数の個数の公式(それぞれの素数を掛ける回数に1を足して掛け合わせる)で、1の個数と一致するか検算する 計算に使ったコードと、実行結果を示してください。
計算ドリル(演習問題)
このページの内容を、自分の手で計算できるようになるための演習問題です。
答えと解説は解答ページにあります。
使い方
-
1数値を入力計算したい数値を入力欄に入力します
-
2計算「計算する」ボタンを押します
-
3結果を確認計算結果がその場に表示されます。計算の考え方や式の解説も同じページで確認できます
DataChefの特徴
専門知識不要、直感的で簡単な操作
個人情報を登録することなく使用できます
「ダウンロード」押下でファイルを自動削除
クレジット表記不要
商用利用許諾の連絡も不要です
