ForHosting KIT · 開発者向けツール

3つの平方数の和による表現計算

この3平方和表現計算機は、非負整数を受け取り、n = a² + b² + c² を満たす具体的な整数 a、b、c を求めます。探索前にルジャンドルの3平方定理を適用するため、禁止形 4^a(8b+7) の整数には、無駄な計算を続けず明確なエラーを返します。結果には3つの項、読みやすい等式、検証済みであることを示す値が含まれます。学習、ソフトウェアテスト、厳密な整数論の処理にご利用いただけます。

● Beta無料・ブラウザ内で実行
ご利用方法 ウェブAPIメールTelegramアプリ 近日

存在定理から具体的な表現を得られます

ルジャンドルの3平方定理は、非負整数を3つの整数の平方の和として書けるかどうかを完全に判定します。しかし、表現が存在すると分かるだけでは十分でない場合があります。演習、証明、テストデータ、計算による研究では、実際の値が必要になることが多いためです。n を入力すると、計算機は昇順の探索規則に従って決定論的な3要素を返し、直接確認できる等式も示します。0も入力でき、0の項も認められます。表現には必ずしも3つの非零平方が必要ではないためです。たとえば完全平方数は、2つの0を伴う形で返される場合があります。squares 配列に入るのは平方後の値ではなく底です。そのため [1, 2, 3] は 1² + 2² + 3² を意味します。併記される等式が解釈の曖昧さをなくし、検証フィールドは応答前に整数演算を確認したことを示します。同じ入力で繰り返し呼び出すと常に同じ表現が得られるため、再現可能な文書や自動テストにも適しています。

禁止形 4^a(8b+7) を正確に判定します

3つの平方数の和で表せない非負整数は、a と b を非負整数として 4^a(8b+7) と書けるものに限られます。計算機は4の因子を繰り返し取り除き、残った値を8で割った余りを調べて、この条件を確認します。簡約後の値が8を法として7と合同なら表現は存在せず、禁止形であることを明記した無効入力エラーを返します。これは探索のタイムアウトや不確定な結果ではなく、数学的に不可能であるという結論です。簡単な例では、7はそのまま禁止形であり、28は 4 × 7 なので禁止形です。112も4の因子を2回取り除くと禁止形だと分かります。一方、4の因子を含むだけで除外されるわけではなく、簡約した部分が8を法として7である必要があります。最初に定理を確認することで、形式が不正な入力、対応範囲外の大きさ、正しい入力だが解が存在しない整数を明確に区別できます。また、数学的に結論が出ている場合の不要な候補探索も避けられます。

決定論的な結果をプログラムで安全に利用できます

n は JSON 整数または単純な10進整数文字列として送信してください。フォームが文字列を返す場合には文字列入力が便利ですが、正確な意味を保つため、符号、空白、小数点、区切り記号、科学記数法は受け付けません。ブラウザーと API の実行時間を予測可能にするため、入力には公開済みの上限があります。許可された値に対して、アルゴリズムは最初の平方を昇順に調べ、残る2平方問題を互いに反対方向へ動く整数ポインターで解きます。ネットワーク、乱数、時刻、変更可能な共有状態は使用しません。そのため、得られる3要素と検証判断は繰り返し実行しても安定しています。アプリケーションでは squares の3要素を読み取り、ローカル確認が必要なら a² + b² + c² を別途計算してください。等式は表示用です。禁止形の応答は、標準の無効入力エラーで通知される数学的な結果として扱い、再試行しないでください。ブラウザー版と API は同じ純粋な解法を実行します。このページでは無料で利用でき、API リクエストは$0.002です。

整数論の演習を完成させます

ルジャンドルの定理で表現の存在を確認した後、具体的な平方項を求められます。

決定論的なテストデータを作成します

平方和を検証するソフトウェア向けに、再現可能な3要素と読みやすい等式を生成します。

表現不可能な入力を分類します

禁止される 4^a(8b+7) の数を、明確な数学的エラーによって識別します。

この機能は何を返しますか?

n、3つの平方の底を含む配列、読みやすい等式、検証済みであることを示す値を返します。

すべての非負整数を表現できますか?

いいえ。4^a(8b+7) の形の整数に限り、3つの平方数の和では表せません。

0の項を使用できますか?

はい。この定理は3つの整数の平方を扱い、そのうち1つ以上が0でも構いません。

同じ要求では同じ3要素が返りますか?

はい。探索順序は決定論的で、乱数、ネットワーク情報、現在時刻を使用しません。

API リクエストの料金はいくらですか?

API リクエスト1回の料金は$0.002です。このページのブラウザー計算機は無料でご利用いただけます。

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

POSThttps://api.kit.forhosting.com/numth/sum-three-squares-rep

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

curl -X POST https://api.kit.forhosting.com/numth/sum-three-squares-rep \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"n":310}'
{
  "n": 310
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.sum_three_squares_rep",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

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

1リクエストあたり$0.002

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

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

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