九去法チェック
九去法で和や積を数秒で検算できます。答えを579とした足し算では、579を9で割った余りは3で、2つの数の余り6と6を足して9で割った余り3と一致するので合格です。余りが食い違えば答えは確実に誤りです。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 被演算子
- 123, 456
- 主張された結果
- 579
- 演算
- Sum
- 被演算子の剰余
- 6, 6
- 合成剰余
- 3
- 主張された結果の剰余
- 3
- 検算
- casting_out_nines
九去法は、九を法とする合同を用いて、桁をすべて手計算し直さずに加法と乗法の誤りを見つける古典的な検算です。2つ以上の整数オペランド、主張された結果、および演算フラグを与えると、本機能は各数を九を法とする剰余類に還元し、元の演算と同じように剰余を組み合わせ、主張の剰余と比較します。両辺が一致しないとき、主張された答えは確実に誤りです。一致するとき、主張はモジュラー算術と整合するだけであり、桁の入れ替えや九の倍数のずれはなお隠れることがあります。
九去法の意味と法9が機能する理由
あらゆる整数は、その十進桁の和と九を法として合同です。なぜなら十は九を法として一と合同であり、十の高次の冪も同様に潰れるからです。桁和を一桁になるまで繰り返すと数字根が得られ、これは九を法とする剰余と一致しますが、数が零でないとき九の倍数は零ではなく九に写像される点が異なります。
九去法はその合同を算術のチェックサムとして用います。複数の数を加えるとき、真の合計の剰余は加数の剰余の和を再び九で割った余りと等しくなければなりません。掛けるとき、真の積の剰余は因数の剰余の積を再び九で割った余りと等しくなければなりません。
不一致は決定的です。 正しい合計がオペランドの結合剰余と食い違うことはありません。一致は決定的ではありません。九、十八、あるいは任意の九の倍数だけずれても、桁和を保つ桁入れ替えでも、モジュラー検査は通過し得ます。
この限界こそ、教科書が九去法を完全な証明ではなく迅速なフィルタとして示す理由です。剰余は零から八までの閉区間で報告され、符号付き整数と零が一様に表されます。数学的内容は古典的な桁和による九去法と同じです。
九去法が役立つ場面
割り切れる条件とモジュラー算術を教える教室では、九去法は生徒が手で使える最初の実用的チェックサムとして使われます。自動化オラクルがあれば、一ずれた答えが法九で食い違うときチューターがライブで失敗を示せます。競技コーチや宿題プラットフォームは、完全な再評価の前に候補解答をふるい分け、多くの加減乗の誤りを安価に捉えられます。
台帳合計や在庫乗算を点検する工学ノートは、重い突合の前に軽いモジュラーフィルタを欲することがあります。単一数の剰余だけが必要なときは数字根計算機と、正確な和や積が必要なときは完全な算術ツールと組み合わせてください。
活用例
教室でのモジュラー算術デモ
桁和・数字根・九を法とする合同を教えるとき、和と積の主張について合否をライブで生徒に示します。
宿題・競技の解答スクリーニング
九去法に失敗する明らかに誤った加法・乗法の答えを、完全な再採点に時間を使う前に却下します。
台帳・在庫の軽い整合チェック
安価な整合ゲートが必要なスクリプトで、複数オペランドの合計と積を決定的な法9検査でふるい分けます。
よくある質問
九去法で和をどう検証しますか?
応答は法9の剰余の和と主張剰余を比較し、passes を設定します。
オペランドが二つ未満だとどうなりますか?
主張された複数オペランド結果への九去法には少なくとも二つのオペランドが必要です。
合格は答えが正しいことの証明になりますか?
いいえ。 一致は法9での整合性を示すだけです。九の倍数の誤差や剰余を保つ桁入れ替えはなお通過し得ます。不合格は主張が誤りであることを証明します。
九去法はなぜ成り立つのですか?
10を9で割った余りは1なので、どの整数も9で割った余りが各桁の和の余りと等しくなります。そのため、正しい答えの余りは、元の数の余りを同じ演算で組み合わせたものと一致します。
数字根と9で割った余りはどう違いますか?
各桁の和を1桁になるまで繰り返したものが数字根で、9で割った余りと同じになります。ただし0でない9の倍数は、余りが0なのに数字根は9になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/numth/casting-out-nines \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"operands":[123,456],"claimed":579,"operation":"sum"}'const res = await fetch("https://api.kit.forhosting.com/numth/casting-out-nines", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"operands": [
123,
456
],
"claimed": 579,
"operation": "sum"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/casting-out-nines",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"operands": [
123,
456
],
"claimed": 579,
"operation": "sum"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/casting-out-nines", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"operands":[123,456],"claimed":579,"operation":"sum"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"operands":[123,456],"claimed":579,"operation":"sum"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/casting-out-nines", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"operands": [
123,
456
],
"claimed": 579,
"operation": "sum"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.casting_out_nines",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
エンジンは純粋で決定的であり、授業デモではブラウザで無料に動作し、スクリプト・採点機・宿題補助から同じ検算が必要な場合は成功したAPIアイテムごとに$0.002です。
九去法の意味と法9が機能する理由
本エンドポイントは両方の剰余と真偽値 passes を返すので、学習者は「九を落とした」と聞くだけでなく、モジュラー比較を明示的に確認できます。
入力契約・応答形・失敗モード
九去法は検証すべき複数オペランドの主張を必要とするためです。同じオペランドで claimed 五百七十八は、五百七十八が九を法として二と合同のため失敗します。積の例は七かける八を五十六と主張する場合で、剰余七と八は九を法として二となり五十六と一致します。オペランドが二つ未満の場合は常にモジュラー計算の前にエラーとなり、複数オペランド検査には少なくとも一対が必要という公開契約と一致します。必須の三要素を持つ JSON オブジェクトを送ってください。フィールド operands は少なくとも二つの有限な安全整数の配列です。オペランドが二つ未満だと invalid_input で失敗します。フィールド claimed はそれらのオペランドに対して主張する整数結果です。フィールド operation は enum の sum または product であり、エンジンが剰余を足すか掛けるかを決めます。オペランド一覧には aliases の numbers・values・terms が、主張には result・total が、演算には op・mode が受け付けられます。非整数、欠落フィールド、空配列、要素一つの配列、安全整数範囲外の値は invalid_input で失敗し課金されません。成功時の応答は operation・operands・claimed をエコーし、続けて operand_residues・combined_residue・claimed_residue、真偽値 passes、固定ラベル casting_out_nines、一致が整合性のみを示すのか不一致が誤りを証明するのかを説明する短い note を並べます。例として、オペランド百二十三と四百五十六、claimed 五百七十九、operation sum は剰余六と六、結合剰余三、主張剰余三、passes true を生成します。
九去法 API が実際に役立つ場面
本機能は安全整数内に留まり、テスト向けに安定した JSON 形を返します。実装は parse の tier A なので、成功呼び出しは毎回公開の基本価格 $0.002 で、モデルトークンも外向きネットワークもなく、検証失敗は残高を消費しません。
技術的な質問
積はどう検証しますか?
同じ operands と claimed フィールドで operation を product にしてください。剰余は法9で乗算され、主張剰余と比較されます。
九去法チェックの料金は?
ブラウザツールは無料です。API リクエストは成功アイテムごとに前払い KIT 残高から $0.002 を使用し、無効入力は課金されません。