整数の因数
12の因数は1、2、3、4、6、12の6個です。1兆までの正の整数を入れると、真ん中の組を見落とさずに、すべての約数を小さい順に並べて個数とともに示します。素因数分解や階乗とは別の計算です。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 12
- 因数
- 1, 2, 3, 4, 6, 12
- 数量
- 6
正の整数の因数をすべて列挙することは、学校数学で最初に学ぶ数感覚の課題の一つです。n が与えられたら、余りなく n を割り切る正の整数をすべて書き出します。教員はその一覧の漏れと順序を採点し、宿題サイトは「ある数の因数」で検索され、スクリプトは途中の対を落とす手書きの因数レインボーではなく決定的な基準を必要とします。本因数計算機は正の整数 n を受け取り、1 と n 自身を含むすべての正の因数を昇順で返します。素因数分解のページでも階乗計算機でもなく、教室の問い「n の因数は何か」に答えます。
数の因数とは何か
正の整数 n の因数とは、n を割った余りが 0 になる任意の正の整数 d です。授業の言い方では因数は対になります。3 が 12 を割り切るなら、3 かける 4 が 12 なので 4 が相補の因数です。
どの正の整数も少なくとも 1 と自身の対を持ちます。素数の因数はちょうどその 2 つです。12 のような合成数は 1, 2, 3, 4, 6, 12 という長い昇順リストになります。
36 のような完全平方には自分自身と対になる中央の因数(6 かける 6)があり、その中央値は一覧に一度だけ現れ、二度は現れません。学習者は 1 から平方根まで候補を辿り、各対を記録し、重複のない因数を昇順に書くよう教えられます。その因数レインボーまたは因数対の方法を、本機能は自動化します。
結果は正の因数の完全集合であり、2 の 2 乗かける 3 という素因数分解でも n!でもありません。 それらは別の検索意図で、別のページです。小学校のプリントが「n の因数をすべて書きなさい」と求める昇順リストが必要なら、契約はこうです。
整数を一つ入れれば、並べた因数が出ます。毎回 1 と n を含め、中央の対は落としません。
入力契約・算法・応答の形
n は 1 以上 1 兆以下の正の整数です。エンジンは 1 から n の整数平方根まで候補の約数を走査します。候補 d が n を割り切るたびに d を記録し、相補の商 n 割る d が d と異なるときはその商も記録するので、完全平方の中央因数は一度だけ保存されます。
走査後、集めた値を厳密な昇順に並べます。応答は n をエコーし、その順序付き配列を factors として返し、クライアントが再計算しなくてよいよう配列長を count として返します。例: n が 12 なら因数は 1, 2, 3, 4, 6, 12 で count は 6。
例: n が 1 なら要素が 1 だけのリスト。例: 素数の 7 なら 1 と 7。平方根走査が予測可能になるよう n を文書化範囲内に保ってください。
因数リストが役立つ場面
教室では因数計算機を使い、学習者が手書きの因数レインボーを正規の昇順リストと照合でき、教員が欠けた対を見つけるまで待たずに済みます。試験ジェネレータや学習管理のプラグインは、12.5 を黙って 12 に丸めるのではなく非整数を拒否する決定的な基準を必要とします。
プログラミングコンテストや面接のウォームアップは、篩や最大公約数の補助を組む前に n の因数すべてを求めることが多く、信頼できる一覧があればフィクスチャ作成が速くなります。製品設定ツールは、バッチサイズやページ数のすべての因数が必要で、画面が合法な分割点を出せるようにします。検証失敗は残高を消費しません。
姉妹ページは n を素数と指数に分解する素因数分解、個数と総和付きの数論的約数一覧、n を除く真の約数、階乗 n!を扱い、本ページは学校数学の検索「ある数の因数」と短いスラッグ factor です。テストでは順序付き配列を固定し、n を上限内に保てば、宿題・成績簿・エッジワーカー向けに再現可能な因数が得られ、独自の数式処理系を立てる必要はありません。
活用例
授業の因数レインボー
与えられた n について学習者の昇順因数リストを、手書きの対の辿りを採点する代わりに、一つの正規応答と照合します。
分割点とコンテスト用フィクスチャ
バッチサイズ、ページ数、コンテスト整数の因数をすべて得て、スクリプトが合法な分割を提示したり完全な因数表を主張したりできるようにします。
よくある質問
素因数分解や階乗 n! と同じですか?
違います。 ここでは 1 と n を含む n の正の因数をすべて列挙します。素因数分解は n を素数に分解し、n!は積であって因数リストではありません。
36のような平方数では因数はどう並びますか?
6は6×6で自分自身と組になるため、一覧には1回だけ現れます。36のほかの因数はそれぞれ別の相手と組になりますが、平方数の真ん中の値が重複することはありません。
素数の因数はいくつありますか?
1とその数自身の2つだけです。たとえば7の因数は1と7なので、一覧を見ればその数が素数かどうかもすぐに分かります。
0や小数、負の数は入力できますか?
できません。因数を一覧にするのは正の整数だけなので、0や負の数、小数は受け付けず、その理由を示します。入力できる上限は1兆です。
因数を手で探すときのコツはありますか?
1から平方根まで順に割っていき、割り切れたらその数と相手の数を組で書き出します。最後に小さい順に並べれば、真ん中の組を見落とさずにすみます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/factor \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":12}'const res = await fetch("https://api.kit.forhosting.com/math/factor", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 12
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/factor",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 12
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/factor", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":12}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":12}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/factor", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 12
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.factor",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
min_n | 1 |
max_n | 1000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
0・負・非整数は invalid_input で失敗し、課金されません。
入力契約・算法・応答の形
必須フィールド n を含む JSON 本体を送信します。別名 number と value は同じフィールドの輸送名として受け付けます。n 欠落、空文字、真偽値、オブジェクト、小数、0、負、公開上限超えは invalid_input で何が問題かを示して失敗し、課金されません。乱数も時計もネットワークもなく、同一の 2 件の要求は常に同じ JSON になります。
因数リストが役立つ場面
本機能は純粋な parse のティア A のため、ブラウザツールはアカウントなしでローカルに動き、成功した API 呼び出しは公開の基本料金 $0.002 で前払い KIT 残高から 1 件ごとに引き落とされます。
連携の活用例
試験と LMS の自動採点
0・負・小数を invalid_input で拒否する決定的な基準で、ある数の因数の設問を採点します。誤った一覧を黙って返すことはありません。
技術的な質問
このツールで数の因数をすべて求めるには?
正の整数フィールド n(別名 number と value)を含む JSON 本体を送ってください。応答は昇順の factors と count を含みます。
0・小数・負の数を送るとどうなりますか?
呼び出しは invalid_input で失敗します。1 以上の正の整数だけを受け付け、検証失敗は課金されません。
因数リストに 1 とその数自身は含まれますか?
はい。どの正の整数も因数として 1 と n を持ちます。素数はちょうど [1, n] を返し、n = 1 は [1] を返します。
因数計算機の料金はいくらですか?
ブラウザウィジェットは無料でローカルに動きます。API 呼び出しは公開の基本料金 $0.002 で前払い KIT 残高を使い、無効入力は課金されません。