レピュニット判定
正の整数が数字1だけで書かれているかを判定します。111は3桁のレピュニットで、(10^3 − 1)/9と等しくなります。各桁の一覧も表示されるので、合否の理由がはっきり分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 111
- 桁数
- 3
- 桁
- 1, 1, 1
レピュニットとは、十進法ですべての桁が数字の 1 である正の整数です。1、11、111、1111 のように続きます。閉じた式では k 桁のレピュニット R_k は(10 の k 乗マイナス 1)を 9 で割った値です。レピュニットは娯楽的な整数論、桁パターンのプログラミング演習、どの R_k が素数かの研究に登場します。本機能は正の整数 n を 1 つ受け取り、純整数演算で十進の各桁を取り出し、すべての桁が 1 かどうか、桁の並び、短い数式文字列を返します。学習者やスクリプトが判定を検証できます。1 未満の値は無効入力として拒否され、課金されません。
レピュニットとは何か、どう見分けるか
正の整数を十進で書き、左から右へ各桁を見てください。各桁がちょうど 1 であり、0 や 2、その他の記号がなければ、その数はレピュニットです。1 桁の場合は単に 1 です。
2 桁なら 11、3 桁なら 111、4 桁なら 1111 です。代数的には k 桁のレピュニットは(10 の k 乗マイナス 1)を 9 で割った値に等しく、しばしば R_k と書きます。これは 10 の累乗から 1 を引いて 9 で割ると 1 が並ぶのと同じ考え方です。
たとえば 999 を 9 で割ると 111 です。12 や 101、1001 のような数は、少なくとも 1 桁が 1 でないため失敗します。負の値と 0 は、ここで用いる正の整数の定義の外にあり、false と付けるのではなく拒否すべきです。
性質は完全に決定的で、乱数サンプリングも近似浮動小数点経路も、時計や遠隔サービスへの依存もありません。教材ではレピュニットを、1 以外の同じ桁が並ぶ repdigit、回文数、Armstrong 数など関連する桁の話題と対比することが多いですが、検索意図も検査も異なります。
実務上の注意、上限、料金、関連する意図
何十個もの 1 が並ぶ多倍長候補が必要な場合は専用の多倍長整数スタックを使ってください。この軽量 parse 機能は対話的な検査と教材サイズの入力向けです。授業では両結果を示してください。
本キット内の他の整数論ランディングは Armstrong 数やハッピー数など別の桁性質を扱います。本ページは、与えられた整数がレピュニットか、すべて 1 か、を探す方向けです。この真偽をレピュニットの素数判定と混同しないでください。
R_k 自体が素数かどうかは別の、より難しい問題で、ここでは対象外です。
活用例
競技・面接対策の検証器
古典的なレピュニット/全桁 1 問題の候補解を、言語ごとのハーネスで桁抽出を再実装せずに検証します。
十進桁パターンの授業デモ
教室で digits と formula を映し、全桁 1 のパターン、R_k の閉じた式、真偽を並べて見せます。
よくある質問
レピュニットとは何ですか?
十進の各桁がすべて 1 である正の整数です。例は 1、11、111、1111。同等に桁数 k に対し R_k = (10^k − 1) / 9 です。
レピュニットが素数かも判定しますか?
いいえ。 すべての桁が 1 であるかだけを見ます。R_k の素数性は別問題で対象外です。
レピュニット判定は無料ですか?
ブラウザツールは無料でローカル実行です。失敗タスクは課金されません。
12がレピュニットでないのはなぜですか?
桁のひとつが2だからです。レピュニットは1だけでできているので、0を含めほかの数字がひとつでもあれば不合格となり、どの桁かが一覧で分かります。
レピュニットの式は何ですか?
k桁のレピュニットは(10^k − 1)/9です。3桁なら999を9で割って111になり、10のべきから1を引いたときと同じ1の並びになります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/numth/repunit-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":111}'const res = await fetch("https://api.kit.forhosting.com/numth/repunit-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 111
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/repunit-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 111
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/repunit-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":111}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":111}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/repunit-check", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 111
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.repunit_check",
"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 の各フィールドと突き合わせることができます。
チェッカーの呼び出し方と応答の読み方
検査が通ると formula は閉じた形(10 の k 乗マイナス 1)を 9 で割る R_k を示し、失敗するとレピュニットではないと述べます。宿題のパイプライン、競技プログラミングの検証、面接対策のサンドボックス、娯楽数学のページ、あるいは各マシンに計算機代数系を入れずに再現可能な「すべて 1」の桁検査が必要なあらゆるワークフローでご利用ください。必須フィールド n に正の整数を入れた JSON 本体を送ってください。安全な整数範囲内の JSON 数値でも、整数に正規化される純粋な数字列でも構いません。同じフィールドに number と value の別名が使えます。成功時の応答には、受理された n、digit_count、上位桁から下位桁への配列 digits、真偽値 is_repunit、短い文字列 formula が含まれます。n 欠落、非整数、分数、公開上限超え、1 未満の整数などの検証失敗は invalid_input を返し、課金されません。料金は単位 item の下で成功リクエストごとに定額 $0.002 で、追加の従量単価はありません。
実務上の注意、上限、料金、関連する意図
桁抽出が Worker とブラウザで厳密に保たれるよう、n を公開された安全整数の上限内に保ってください。1 と 111 を真の例、12 や 101 を偽の例、0 や負数を invalid_input を返す厳格な拒否経路として扱います。採点時は is_repunit を digits と digit_count と組み合わせ、桁数の数え違いや桁の脱落を診断しやすくします。invalid_input を返す失敗タスクはプリペイド残高を消費しないため、契約を学ぶ途中で誤入力しても探索的スクリプトのコストを抑えられます。配信は Web フォーム、タスク API、SDK クライアント、その他の KIT チャネルから、数学的定義を変えずに行えます。
連携の活用例
宿題:レピュニットと全桁 1 の答え合わせ
学習者に整数を与え、手計算の可否と桁リストを、決定的な API または無料ブラウザ結果と照合します。
技術的な質問
1 はレピュニットですか?
はい。1 桁の 1 は R_1 であり、is_repunit は true です。
0 や負の数はどうなりますか?
1 未満の値は invalid_input で拒否されます。本チェッカーは正の整数のみを受け付けます。