多項式長除法計算機
多項式の割り算をすぐに確かめられます。x² − 3x + 2をx − 1で割ると商はx − 2、余りは0なので、x − 1は因数です。係数は最高次から並べます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。
この多項式長除法計算機は、ある多項式を別の多項式で割り、係数配列と読みやすい多項式の文字列の両方として商と余りを返します。多項式に対する長除法は、因数分解の検証、組立除法の特別なケース、部分分数分解、剰余の定理を支えるユークリッドの互除法のステップです。被除数 = 除数 × 商 + 余り が成り立ち、余りの次数は除数の次数より厳密に小さく(割り切れる場合は余りゼロ)なります。既に知っているかもしれない簡単な例としては、x² − 3x + 2 を x − 1 で割ると商が x − 2、余りが0になり、x³ − 1 を x − 1 で割ると x² + x + 1 になります。このエンジンは、密な係数ベクトルに対する決定的な浮動小数点演算のみを使用し、ネットワーク通信もサンプリングも日付に依存する近道もありません。宿題やコンテスト対策、コーディングの練習には、ブラウザ上で無料でご利用いただけます。
多項式の長除法が返すものと次数の扱い
多項式の長除法は、最高次の係数を先頭にした密な係数配列として表された多項式について、被除数 = 除数 × 商 + 余り を解きます。例えば配列 [1, −3, 2] は x² − 3x + 2 を意味し、[1, −1] は x − 1 を意味します。ゼロでない多項式の次数は、トリムされた係数配列の長さから1を引いた値です。
除数はゼロ多項式であってはなりません。被除数の次数が除数の次数より厳密に小さい場合、商はゼロとなり余りは被除数に等しくなります。これはエラーではなく正しいユークリッドの基底ケースです。
記号的なCASの経路も根のランダムサンプリングも一切ありません。このエンジンは、サポートされている次数と大きさの範囲内で長除法のループを完了するか、それができない場合は入力を拒否します。根のみ、既約多項式への因数分解、あるいはモニックな1次除数向けの組立除法を別のランディングとして必要とする場合は、それぞれの専用ツールをご利用ください。
多項式の長除法が学習・コード・指導で果たす役割
生徒が多項式の長除法に出会うのは、教科書が除法アルゴリズムを導入するとき、因数定理を適用する前に1次因子が3次式を割り切るかどうかを確認するとき、あるいは部分分数の準備で分母より次数の小さい余りを持つ真分数式が必要になるときです。
教師は、途中の係数を隠したり、完全な商多項式を示さずに黙って組立除法に切り替えたりする不透明な電卓アプリを信用せずに、控えめな次数についての解答例を事前に生成できます。
開発者は同じ契約をスクリプトから呼び出し、コンピュータ代数モジュール向けの決定的なテストベクターを準備したり、さらなる処理の前にユーザー入力の有理式を正規化したり、なんとなくの因数リストではなく商と余りの両方の配列を要求するプログラミングチャレンジの課題を満たしたりします。
コンテスト対策では、時間制限の中でグラフ電卓を使わずに解答を検証できる、長除法の結果の高速なオフライン情報源がしばしば必要になります。
活用例
宿題とユークリッドの検証
教科書の多項式を割り算し、因数定理や剰余の定理を適用する前に商と余りを確認します。
決定的なテストフィクスチャ
単体テストやプロパティチェック、CIのアサーションのために、再現性のある係数配列と多項式の文字列を生成します。
学習支援とCASフロントエンド
ステップ解説ツールや対話型レッスンのために、ユーザーが入力した被除数と除数を商と余りに正規化します。
よくある質問
多項式長除法計算機の利用料金はいくらですか?
このページ上でブラウザからご利用いただく場合は無料です。無効な入力には課金されません。
商と余りはどのように定義されますか?
被除数 = 除数 × 商 + 余り かつ deg(余り) < deg(除数)、または割り切れる場合は余りがゼロという関係を満たします。
多項式はどのように表現すればよいですか?
最高次の項を先頭にした密な係数配列を渡します。例えば x² − 3x + 2 は [1, -3, 2]、x − 1 は [1, -1] です。
被除数の次数が除数より小さい場合はどうなりますか?
商はゼロとなり、余りは被除数に等しくなります。これはエラーではなく、正しいユークリッドの基底ケースです。
x − 1が因数かどうかはどう確かめますか?
多項式をx − 1で割り、余りを見ます。x² − 3x + 2なら余りは0で割り切れるので、x − 1は因数で、商のx − 2がもう一方の因数です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/algebra/polynomial-divide \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"dividend":[1,-3,2],"divisor":[1,-1]}'const res = await fetch("https://api.kit.forhosting.com/algebra/polynomial-divide", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"dividend": [
1,
-3,
2
],
"divisor": [
1,
-1
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/polynomial-divide",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"dividend": [
1,
-3,
2
],
"divisor": [
1,
-1
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/polynomial-divide", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"dividend":[1,-3,2],"divisor":[1,-1]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"dividend":[1,-3,2],"divisor":[1,-1]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/polynomial-divide", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"dividend": [
1,
-3,
2
],
"divisor": [
1,
-1
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.polynomial_divide",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_degree | 64 |
max_abs_coeff | 1000000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
CI環境や教育向けソフトウェア、指導用デモで再現性のある長除法のフィクスチャが必要な場合は、成功したリクエスト1件につき$0.002でAPIをご利用いただけます。
多項式の長除法が返すものと次数の扱い
レスポンスは、先頭のゼロを取り除いた後の正規化された被除数と除数をエコーし、指定した精度に丸めた係数配列として商と余りを返し、4つすべての多項式の次数を報告し、余りがゼロ多項式のときに exact フラグを設定し、ワークシートやUIでの表示のために x^2 - 3x + 2 のような人間が読める文字列を作成します。ゼロ多項式は次数0、単一の係数0として報告されるため、JSONの利用者は空の配列を特別扱いする必要がありません。ゼロ多項式による除算は未定義であり、ゼロで割ることができないという算術の規則に合わせて invalid_input として拒否されます。このページが答えるのは完全な長除法の恒等式であり、単体テストとAPI利用者に適した安定した数値係数を提供します。
係数の読み取り方と、アルゴリズムの再現性の保ち方
有限の10進数としてパースできる文字列係数(任意の指数表記を含む)は許可されますが、埋め込まれた空白や16進数プレフィックス、数値でないトークンは明確なメッセージとともに拒否され、不正なセルの値がそのまま誤った商になってしまうことはありません。先頭のゼロ係数は除算の前にトリムされるため、[0, 1, 2] と [1, 2] は同じ1次多項式を表します。すべてのステップは通常のJavaScriptの浮動小数点演算を使用し、ほぼゼロの先頭項を取り除く際には小さなイプシロンを使うため、整数係数を持つ厳密な有理数の例は、丸めた後は通常きれいな整数を返します。優先されるフィールドは dividend と divisor で、それぞれ最高次から定数項までの有限数からなる空でない配列です。スプレッドシートやクエリ文字列、型付きフォームで同じ契約を再利用できるように、被除数には num、numerator、p、除数には den、denominator、d、by というエイリアスも受け付けます。自動化されたパイプラインの中で同一の数学的結果が必要な場合は、このページの無料のブラウザ実行と、有料のAPIを組み合わせてご利用ください。
多項式の長除法が学習・コード・指導で果たす役割
教育向け製品は、学習者が2つの係数リストを入力し、UIが dividend_poly、divisor_poly、quotient_poly、remainder_poly をユークリッドの恒等式の文字列とともに示さなければならないときに、この書き換えを利用します。このページ上での処理はすべてブラウザ内で完結しますが、APIを通じて成功したルックアップ1件ごとに$0.002が発生し、検証に失敗した場合は課金されず、レスポンスを返した後に何も保存されません。この無料の対話的な探索と、同一結果を返す有料のAPIという分離は、KITのtier-Aカタログの他の部分と一致しており、教室でのデモから、数学的な結果を変えることなく自動化されたパイプラインへと移行することを可能にします。関連する代数のステップが必要な場合は平方完成や連立方程式のツールと、宿題やソフトウェアテスト向けの無料で決定的な代数ヘルパーの小さなラボを構築する場合は他の数学系エンドポイントと組み合わせてご利用ください。
技術的な質問
除数がゼロ多項式の場合はどうなりますか?
その入力は invalid_input として拒否されます。ゼロ多項式による除算は未定義です。