交互数字和計算
918082の交互数字和は22で、11の倍数なので、この数は11で割り切れます。0以上の整数を入力すると、各桁の数字、符号付きの合計、余りが分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 918,082
- 桁
- 9, 1, 8, 0, 8, 2
- 交代和
- 22
- 11を法とする剰余
- 0
交互数字和では、左端の10進数字を足し、次を引くというように、符号を切り替えながら各桁を計算します。この値を11で割った余りは、符号が反転する場合を除いて元の整数の余りと一致します。そのため、交互数字和が11の倍数であることと、元の数が11で割り切れることは同値です。0以上の安全な整数を入力すると、各桁、符号付きの交互合計、0から10に正規化した余り、11で割り切れるかどうかを、常に同じ形式で取得できます。
交互数字和の計算方法
10進数字を左から右へ読みます。最初の桁を足し、2番目を引き、3番目を足すという手順で、最後まで符号を交互に切り替えます。918082の場合は、9引く1足す8引く0足す8引く2となり、結果は22です。
右端から始める方式では、桁数によって全体の符号が反転することがありますが、結果が11の倍数かどうかは変わりません。この機能は、説明しやすく再現しやすい左端開始の規則を採用しています。0は1個の数字0として扱うため、交互数字和も0です。
対象は通常の10進表記だけであり、任意の基数、区切り文字、小数点、符号を数字列の一部として扱うことはありません。処理は最大16桁を1回走査するだけなので、正確かつ高速で、実行するたびに同じ結果になります。
余りと応答の読み方
変換前の交互合計は負になる場合があります。たとえば交互合計がマイナス2なら、マイナス2と9は11を法として同じ合同類に属するため、正規化後の余りは9です。余りが0でも、入力自体が0とは限りません。
交互合計がマイナス22、0、11、33など、11の倍数であることを示します。応答には検証済みのnとdigits配列も含まれるため、単なる可否判定だけでなく計算内容を確認できます。共通ソルバーは、10進数字のみで構成され、先頭にプラス記号を任意で付けた文字列を受け付けます。
11の倍数判定を正しく使う方法
この規則が成り立つのは、10が11を法としてマイナス1と合同だからです。10進数の各位の値を11で還元すると、プラス1とマイナス1が交互に現れます。そのため、各桁に交互の符号を付けて合計すると、全体の符号が反転する可能性はあっても、元の数の余りが保たれます。
この性質は、授業での説明、問題集の確認、検証処理、数理パズルに役立ちます。ただし、これは汎用チェックサムではなく、あくまで倍数判定です。異なる多数の数が同じ余りを持つため、同一性の証明、あらゆる転記ミスの検出、暗号学的ハッシュの代替には使えません。
また、入力の除算や約数の列挙も行いません。
活用例
11で割り切れるか確認
筆算で割ることなく0以上の整数を調べ、余りと明確な真偽値の両方を取得できます。
授業や宿題の検算
並び順を保った各桁と符号付き合計を表示し、生徒と教員が交互の各手順を確認できます。
数値レコードの事前検証
スクリプト内の識別子へ決定論的な11の剰余検査を適用し、説明可能な中間値も保持できます。
よくある質問
交互数字和とは何ですか?
10進数字を順番に足したり引いたりした結果です。この計算では左端を足し、次を引き、その後も符号を交互に切り替えます。
11で割り切れるかをどのように判定しますか?
整数の交互数字和が11の倍数である場合に限り、その整数も11で割り切れます。
負の入力を使用できますか?
0以上9007199254740991以下の整数を指定してください。
交互数字和が負になるのはなぜですか?
1つおきに桁を引くため、合計が0より小さくなることがあります。合計が-2でも、11で割ったときに同じ類に属するため、余りは9になります。
左からと右からで結果は変わりますか?
右から始めると桁数によって合計の符号が逆になることがありますが、11の倍数かどうかは変わりません。このツールは常に左から計算します。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/numth/alternating-digit-sum \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":918082}'const res = await fetch("https://api.kit.forhosting.com/numth/alternating-digit-sum", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 918082
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/alternating-digit-sum",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 918082
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/alternating-digit-sum", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":918082}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":918082}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/alternating-digit-sum", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 918082
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.alternating_digit_sum",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_n | 9007199254740991 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
交互数字和の計算方法
応答では桁の順序を保持し、この符号付きの値をalternating_sumとして返します。
余りと応答の読み方
後続処理で比較しやすいように、residue_mod_11はその値を0から10の範囲へ正規化します。is_divisible_by_11は、この余りが0のときに限りtrueになります。入力名にはnのほか、文書に記載されたnumber、value、integerも使用できます。小数、文字列の指数表記、欠損値、真偽値、負数、JavaScriptの安全範囲を超える整数にはinvalid_inputを返します。
11の倍数判定を正しく使う方法
単純な判定にはis_divisible_by_11を使い、途中式の表示や合同式の議論にはalternating_sumを保持してください。ブラウザーとAPI契約は同じ純粋なソルバーを使用します。APIの正常な1件の料金は$0.002で、検証に失敗した場合はもっともらしい値ではなくエラーを返します。
技術的な質問
交互合計が負になることはありますか?
はい。alternating_sumは符号を保持し、residue_mod_11はその値を0から10の標準的な範囲へ変換します。
計算料金はいくらですか?
ブラウザーの計算機は無料です。APIで正常に処理された1件は$0.002で、無効な入力にはエラーを返します。