本文へスキップ
App Museum
English

素因数分解・最大公約数・最小公倍数の計算

整数を素因数分解し、素数かどうか・約数の一覧と個数・約数の総和・平方根の簡単化を表示します。2つ以上の整数なら最大公約数と最小公倍数、公約数、ユークリッドの互除法の途中式も出します。

1 以上 100京(10^18)以下の整数を、スペース・カンマ・改行で区切って 20 個まで入力します。1つなら素因数分解と約数、2つ以上なら最大公約数と最小公倍数を求めます。カンマは桁区切りではなく数の区切りとして読みます。

例

整数を入力すると、ここに結果が表示されます。

使い方

  1. 入力欄に整数を入力します。複数の整数は、スペース・カンマ・改行で区切ります
  2. 整数が1つなら、素因数分解と素数かどうかの下に、手で割っていく「すだれ算」、約数の個数と総和を素因数ごとに出してかけ合わせる表、平方根の簡単化、前後の素数、かけてその数になる組で並べた約数の一覧が表示されます
  3. 整数が2つ以上なら、最大公約数と最小公倍数の下に、同じ素数を縦にそろえたそれぞれの素因数分解、簡単にした比、公約数の一覧が表示されます。2つのときは、約分した分数と、= の位置をそろえたユークリッドの互除法の途中式も出ます
  4. 「例」のボタンを押すと、例の数が入力されます。「結果をコピー」で、結果を 2^3 * 3^2 * 5 のような文字の形でコピーできます

入力すると、その場で計算し直します。計算ボタンはありません。

具体例

1つの整数(360)

360 = 2³ × 3² × 5
素数ではありません(合成数)

すだれ算        約数の個数と総和
2 ) 360         素因数   約数の個数   約数の総和
2 ) 180                  指数 + 1     1 + p + … + pᵉ
2 )  90         2³            4            15
3 )  45         3²            3            13
3 )  15         5             2             6
     5          かけ合わせる  24個       1,170

平方根の簡単化  √360 = √(6² × 10) = 6√10
前後の素数      359 < 360 < 367

約数の一覧(かけて 360 になる組)
 1 × 360    2 × 180    3 × 120    4 × 90    5 × 72    6 × 60
 8 × 45     9 × 40    10 × 36    12 × 30   15 × 24   18 × 20

すだれ算は、小さい素数から順に、割り切れるだけ割っていきます。同じ素数で5回以上割るときは、最初の2行と最後の1行だけを書き、間を「2 でさらに ◯ 回割る」とまとめます。

2つの整数(84, 126)

最大公約数  42      最小公倍数  252

              2      3      7
       84 = 2²  × 3   × 7
      126 = 2   × 3²  × 7
──────────────────────────────
最大公約数 = 2   × 3   × 7
最小公倍数 = 2²  × 3²  × 7

比を簡単にする  84 : 126 = 2 : 3
分数を約分する  84/126 = 2/3(分母と分子を上下に書きます)

ユークリッドの互除法
126 = 84 × 1 + 42
 84 = 42 × 2 +  0

3つの整数(12, 18, 30)

最大公約数は 6、最小公倍数は 180、比は 12 : 18 : 30 = 2 : 3 : 5 です。12 と 18 は 5 を素因数に持たないので、5 の列は空いています。最大公約数の 5 の列も空き、最小公倍数には 5 が入ります。

計算のしかた

素因数分解

整数を素数だけのかけ算で表したものです。指数は、同じ素数をかける回数です。360 = 2 × 2 × 2 × 3 × 3 × 5 なので 2³ × 3² × 5 と書きます。

紙の上では「すだれ算」で求めます。360 を 2 で割って 180、また 2 で割って 90、と小さい素数から順に割り切れるだけ割り、最後に素数が残ったら終わりです。左に並んだ割る数と、下に残った素数をかけたものが素因数分解です。

約数の個数と総和

n = p^a × q^b × … と素因数分解できるとき、約数の個数は (a + 1) × (b + 1) × … です。360 なら (3 + 1) × (2 + 1) × (1 + 1) = 24 個です。約数の総和は (1 + p + … + p^a) × (1 + q + … + q^b) × … で、360 なら 15 × 13 × 6 = 1170 です。

最大公約数と最小公倍数

  • 最大公約数 — すべての数に共通する素因数を、いちばん小さい指数でかけ合わせたものです
  • 最小公倍数 — どれかの数に現れる素因数すべてを、いちばん大きい指数でかけ合わせたものです

それぞれの素因数分解を、同じ素数が縦に並ぶように書くと、列ごとに指数を比べるだけで求められます。どれかの数に現れない素数の列は、最大公約数には入りません。

2つの数 a, b では、最大公約数 × 最小公倍数 = a × b が成り立ちます。最大公約数が 1 のとき、その数どうしは「互いに素」といいます。

ユークリッドの互除法

大きい数を小さい数で割り、割った数を余りで割る、という操作を余りが 0 になるまで繰り返します。最後に割り切ったときの割る数が最大公約数です。素因数分解をしなくても最大公約数が求まるので、大きな数でも手早く計算できます。

平方根の簡単化

素因数分解で2回以上出てくる素数をペアにして、ルートの外に出します。360 = 2² × 3² × 2 × 5 なので、√360 = 2 × 3 × √(2 × 5) = 6√10 です。

FAQ

1 は素数ですか?

いいえ。素数は「1 とその数自身の2つだけを約数に持つ、2 以上の整数」なので、1 は素数でも合成数でもありません。1 を入力すると、素因数分解は 1 = 1、約数は 1 だけと表示します。

どのくらい大きな数まで計算できますか?

1 から 100京(10^18、1000000000000000000)までの整数です。最大公約数・最小公倍数の計算には、この範囲の数を20個まで入力できます。最小公倍数は100京を超えても、桁を省かずに表示します。

約数の一覧がすべて表示されないのはなぜですか?

約数が500個を超えるときは、「1 × 360」のような組を、小さい方の約数から250組(500個)だけ表示します。100京以下の数には、約数が10万個を超えるものもあるためです。「結果をコピー」では、すべての約数を小さい順にコピーします。

「1,000」のように桁区切りのカンマを付けて入力できますか?

できません。カンマは数の区切りとして読むので、1,000 は 1 と 000(0)の2つの数になり、エラーになります。最大公約数を求めるときに 120,180 と書くと、120 と 180 の2つの数として読みます。全角の数字やカンマは使えます。

小数や負の数は使えますか?

使えません。素因数分解・最大公約数・最小公倍数は、1 以上の整数で計算します。0 もエラーになります。

大きな素数でも正しく判定できますか?

はい。100京以下の数では、確率ではなく確実に素数かどうかを判定する方法(決まった12個の底によるミラー・ラビン判定)を使い、大きな素因数はポラードのロー法で見つけます。100京に近い素数や、大きな素数2つのかけ算でも、すぐに結果が出ます。

入力したデータは保存されますか?

いいえ。計算はすべてブラウザ内で行われ、入力した値がサーバーへ送られることはありません。ページを再読み込みすると、入力は消えます。

種別
ユーティリティ
カテゴリ
計算
タグ
prime-factorization
prime-number
gcd
lcm
divisors
euclidean-algorithm
math
calculator
  • パーセント計算ツール

    「AのB%は?」「AはBの何%?」「増減率」に加えて、B%引き・B%増しの値と、割合からの全体の逆算をすぐに計算。「20%引きからさらに10%引き」のように重なる割引の価格と、まとめて何%引きかも分かります。割引後の価格や値上げ後の価格、定価の逆算に。

    ユーティリティ計算calculatorpercentmath
  • 経過・残り時間計算ツール

    開始・終了・現在時刻から、経過時間・残り時間・休憩を差し引いた実働時間を計算します。実働時間と休憩から終了時刻も求められます。「1:30」「2時間15分」のような時間の足し算・引き算と、10進数の時間(7.75時間)への換算にも対応。

    ユーティリティ計算timedurationelapsedremainingscheduletime-sumcalculator
  • 割り勘計算ツール

    合計金額と人数から1人あたりの金額を計算します。10円・100円・500円・1000円単位の切り上げ・切り捨て、多めに払う人と少なめに払う人を分ける傾斜配分、一部の人の金額を先に決めて残りを割る計算、集まる金額と過不足の表示に対応。何人かが別々に立て替えたときに、誰が誰にいくら払えば精算できるかも出せます。

    ユーティリティ計算calculatormoneysplitbillwarikansettle-up