ForHosting KIT · 数学

最大公約数計算

48と18の最大公約数は6で、両方の約数の一覧に共通する最大の数です。符号付きの数や0を含む2つの整数を入力すると、分数の約分や同じ箱への詰め分け、タイル選びに使える正確な答えが分かります。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
A
48
B
18
結果
Gcf
6

2つの整数の最大公約数とは、両方を割り切れる最大の整数のことで、分数の約分、数量の等しいグループへの分割、床タイルのサイズ決め、コード内の比率の単純化など、あらゆる場面に登場します。この機能は、数学者が二千年以上使い続けてきたユークリッドの互除法で最大公約数を計算し、1つの整数を返します。正・負・ゼロの整数を、数値または厳密な数値文字列として2つ送信すれば、その最大公約数が返ります。整数でない入力は明確なエラーで拒否されます。

最大公約数とは何か

2つの整数、たとえば 48 と 18 を考えてみましょう。48 を割り切れる数は 1、2、3、4、6、8、12、16、24、48 で、18 の約数は 1、2、3、6、9、18 です。共通する約数は 1、2、3、6 で、その最大値である 6 が最大公約数、gcf(48, 18) = 6 と書きます。

約数を列挙する方法は小さい数には有効ですが、まったくスケールしません。15桁の整数を因数分解するのは実際に困難です。最大公約数計算機は因数分解を完全に回避します。a と b の任意の公約数は、大きい方を小さい方で割った余りも割り切れる、という一つの観察に基づくユークリッドの互除法を使います。

大きい方の数をその余りに置き換えると、すべての公約数を保ったまま問題が一歩ごとに小さくなり、一方がゼロになったとき他方が答えになります。計算全体は、JavaScript が正確に表現できる最大の整数でも、せいぜい数十ステップで済み、結果は常に正確です。浮動小数点も近似もありません。

入力、符号、ゼロ、エラー

文字列は、値がフォームやテキストファイルから来る場合に便利です。最大公約数は整数に対してのみ定義されるためです。符号は関係ありません。 ある数の約数はその反対数も割り切るため、gcf(-48, 18) は gcf(48, 18) と等しく、アルゴリズムは絶対値で動作します。

ゼロは正当な入力で、正確な意味を持ちます。gcf(17, 0) は 17 です。すべての整数はゼロを割り切り、17 の最大の約数は 17 自身だからです。

ただし両方がゼロの場合は拒否されます。すべての整数がゼロを割り切るため、最大のものが存在しないからです。絶対値の上限は 9007199254740991 で、これは JavaScript が正確に表現できる最大の整数です。

これより大きい値は正確に扱えないため拒否されます。

活用場面と料金

最大公約数は、その名前が示す以上に頻繁に現れます。分数を既約にするのは、分子と分母をその GCF で割ることです。出荷品を余りなく同一の箱に分けること、長方形の床を切断なしで覆う最大の正方形タイルを選ぶこと、レスポンシブレイアウトでアスペクト比を単純化することは、どれも違う装いの同じ問いです。

コードの中では、スケジューラ、ハッシュ関数、暗号ルーチンの内部に現れます。この機能は意図的に最小限で、約数そのものだけを返すため、それを消費するあらゆるものと綺麗に組み合わせられます。ユークリッドの互除法の全割り算ステップ、ベズー係数、あるいは最小公倍数も必要な場合は、兄弟機能がそれらをカバーしています。

グローバルエッジ上で実行され、応答後に何も保存されません。同じモジュールがこのページの無料計算機を動かしているため、パイプラインに組み込む前に、どんな結果でも手作業で検証できます。

分数を既約にする

分子と分母をその最大公約数で割って、1回の呼び出しで 48/18 を 8/3 に約分します。

数量を等しいグループに分ける

2つの在庫数量を余りなく正確に割り切れる、最大の同一ロットサイズを見つけます。

レイアウトエンジンで比率を単純化する

1920x1080 のようなピクセル寸法を、保存や表示の前にそれが表す 16:9 の比率に変換します。

数値の符号は関係ありますか?

いいえ。 最大公約数は絶対値に対して計算されるため、gcf(-48, 18) と gcf(48, 18) はどちらも 6 です。

片方の数をゼロにできますか?

はい。 gcf(a, 0) は |a| です。両方がゼロの場合は、gcf(0,0) が定義されないため拒否されます。

整数はどのくらい大きくできますか?

絶対値で 9007199254740991 までです。これは正確に表現できる最大の整数です。これより大きい値は近似計算せず拒否されます。

呼び出し後に何か保存されますか?

いいえ。 2つの整数は処理されて破棄され、最大公約数のみが返されます。

約数を書き出して最大公約数を求めるには?

それぞれの数の約数をすべて書き出し、共通するもののうち最大のものを選びます。48と18なら共通の約数は1、2、3、6なので答えは6です。大きな数では手間がかかるため、この計算機はユークリッドの互除法を使います。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/math/gcf

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/math/gcf \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"a":48,"b":18}'
{
  "a": 48,
  "b": 18
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.gcf",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

max_abs9007199254740991
HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

APIに応答するコードとまったく同じものが、このページのブラウザ上で無料で動作します。

入力、符号、ゼロ、エラー

このエンドポイントは a と b の2つの必須フィールドを受け付けます。それぞれ整数である必要があり、1071 のような JSON 数値、または "-252" のような厳密な整数を表す数値文字列を指定できます。2.5 のような小数、分数、真偽値、数値でないテキストは、原因となったフィールド名を示す invalid_input エラーで拒否されます。

活用場面と料金

料金は1リクエストあたり $0.002 で、単位ごとの追加料金はありません。同一のリクエストには常に同一の回答が返ります。

料金はいくらですか?

1リクエストあたり $0.002 で、単位ごとの追加料金はありません。このページのブラウザ上では無料で実行できます。

どのような入力が受け付けられますか?

a と b の2つの整数で、JSON 数値または厳密な整数を表す数値文字列として指定します。それ以外は invalid_input エラーで拒否されます。

KITの完全なドキュメントを見る →