イービル数判定
3はイービル数です。2進法では11で、1が2個あり、2は偶数だからです。0以上の整数を入れると、2進表記、1の個数、その個数が偶数かどうかが分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 3
- 2進数
- 11
- 1の個数
- 2
- 1の個数の偶奇
- even
イービル数(evil number)とは、二進表現に含まれる1ビットの個数が偶数である非負整数です。0は二進が0で1の個数が0(偶数)なのでイービル、3は二進11で1が2個なのでイービル、1は二進1で1が1個(奇数)なのでイービルではありません(補完クラスはオディアス数と呼ばれることが多いです)。生徒・教員・スクリプト作者が数式処理システムや不透明なビットライブラリなしで分類を監査できます。負の入力は無効として拒否されます。
イービル数とは何か、二進popcountがどう判定するか
任意の非負整数を二進で書き、値が1の桁がいくつあるかを数えます。その個数(ポピュレーションカウント、ハミング重み、セットビット数とも呼ばれます)が偶数ならその整数はイービル、奇数ならオディアスであり、この定義ではイービルではありません。名称は娯楽的整数論に由来し、チュー–モールス列と対になり、イービル数は偶パリティの位置にあります。
具体例が助けになります。0は二進0で1が0個なのでイービル、1は二進1で1が1個なのでオディアス、2は二進10で1が1個でオディアス、3は二進11で1が2個でイービル、4は二進100で1が1個でオディアス、5は二進101で1が2個でイービルです。定義はビット列上の純組み合わせ的なものであり、素因数や十進の桁和、浮動小数近似には依存しません。
教材ではイービル・オディアスを完全数・過剰数・ハッピー数と対比することが多く、後者は約数や十進桁を見るのに対し、イービル状態は二進の1のパリティだけを見ます。
すべての非負整数は有限の二進展開を持つため、性質はビット長に比例する手数で必ず終了し、自動検査、競技問題、プログラミング面接、二進の経路をはい・いいえのラベルだけでなく示す必要がある教室デモに適しています。補完のオディアス類は明確化のためだけに触れます。
実務での使い方、制限、料金、関連検索
ビットパリティの問題を学ぶとき、整数論の授業を準備するとき、数式処理システムを入れずに競技の答えを確認するときなど、即座のイービル数判定が欲しい場合はブラウザツールを使います。検証失敗は残高を消費しません。受け付ける入力はJavaScriptの安全整数上限までの非負整数なので、教室例や面接デモは通常の数値範囲で厳密に保てます。
結果は時計、乱数シード、遠隔算術サービスに依存しません。教えるときは両結果を示す対の例を優先します。3と5を真のイービル、1と2を偽のオディアス、0を1が空で偶数の境界、負入力を厳格拒否経路の実演に使います。
本キットの他の整数論ランディングはハッピー数、レピュニット、素数判定など別の意図を狙います。本ページは、与えられた整数がイービル数か、あるいは二進1が偶数個かを探す人向けです。
よくある質問
イービル数とは何ですか?
二進表現に含まれる1の個数が偶数の非負整数です。例:3は二進11(1が2個)でイービル、1は二進1(1が1個)で非イービルです。
nが負のときはどうなりますか?
本チェッカーは非負整数を要求し、負数は拒否され課金されません。
3はイービル数ですか?
はい。3を2進法で書くと11で、1が2個含まれます。2は偶数なので、3はイービル数です。
0はイービル数ですか?
はい。0を2進法で書いても0で、1は1個も含まれません。0個は偶数なので、0はイービル数になります。
オディアス数とは何ですか?
イービル数の反対で、2進表記の1の個数が奇数になる数です。1がその例です。0以上の整数はどちらかに必ず当てはまり、結果には偶奇も表示されます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/numth/evil-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":3}'const res = await fetch("https://api.kit.forhosting.com/numth/evil-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/evil-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/evil-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/evil-number", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 3
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.evil_number",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
本チェッカーは非負整数を検証し、二進文字列を構築し、純整数演算でセットビットを数え、明確な真偽値と各中間フィールドを返します。
イービル数とは何か、二進popcountがどう判定するか
本機能はイービルの問いに答え、ones_parityも返すので、一つの応答で両面を確認できます。
本チェッカーがイービル状態を評価しAPIが返す内容
実装はnが存在し、有限で、整数で、0以上であることを検証します。決定性は完全です。 同じnは常に同じ真偽値、同じ二進文字列、同じ1の個数を返すので、壊れやすいフィクスチャなしで単体テストや再現可能なノートに応答を固定できます。課題パイプライン、競技バリデータ、面接準備サンドボックス、あるいは専用の整数論パッケージを各マシンに入れずに再現可能な二進パリティ検査が必要な任意のワークフローから利用できます。非負整数を持つフィールドnで能力を呼び出します。安全整数範囲内のJSON数値、または整数に正規化される数字列のどちらでも構いません。同じフィールドにエイリアスnumberとvalueを受け付けます。次に0b接頭辞なしの二進表現を構築し(0は文字列0に対応)、最下位ビットを繰り返し取り整数の半減で1を数え、その個数の2を法とした剰余が0のときis_evilをtrueにします。応答はones_count、evenまたはoddのones_parity、ビット列のbinary、popcountとイービル/オディアスの結論を述べる短いformula文字列も返します。n欠落、非整数、分数、公開上限超、負数はinvalid_inputで失敗し課金されません。料金はitem単位で成功リクエストあたり定額$0.002です。
実務での使い方、制限、料金、関連検索
固定契約で多数の値に安定したJSONが必要なスクリプト、宿題チェッカー、教育プラットフォームではAPIを使います。成功した各リクエストは$0.002で課金される1アイテムです。binaryとones_countが一緒に返るため、生徒は手計算でpopcountを再計算しAPIと行ごとに照合できます。面接練習アプリ、娯楽数学ページ、整数分類パイプライン、すでに不透明なブラックボックス計算より厳密なビット演算を好む教育ダッシュボードへエンドポイントを接続できます。配信はWebフォーム、タスクAPI、SDKクライアント、その他のKITチャネルから、数学的契約を変えずに動作します。
連携の活用例
面接・競技でのビットパリティ確認
受験者と採点者は任意の非負整数についてイービル数分類を検証し、ローカルのpopcountループを書かずにbinaryとones_countを点検できます。
二進ハミング重みの教室デモ
教員は1ビットの偶奇個数がイービルとオディアスを分ける様子を、議論用に各中間フィールドを見せながら示せます。
整数分類の自動化パイプライン
二進1のパリティで整数にタグ付けするスクリプトは、場当たり的なビット数えを埋め込まず、item課金の単一決定的エンドポイントを呼べます。
技術的な質問
0はイービル数ですか?
はい。0は二進0で1が0個、0は偶数なのでis_evilはtrueです。
イービル数チェッカーは無料ですか?
ブラウザツールはお使いの端末で無料です。API呼び出しは前払いKIT残高を成功itemごとに$0.002で使い、検証失敗は課金されません。
結果は決定的ですか?
はい。同じnは常に同じis_evil、同じbinary文字列、同じones_countを返します。経路にモデル、ネットワーク呼び出し、乱数はありません。