ForHosting KIT · 数学

奇数部分・相異なる部分への分割数計算

数を奇数の和として書く方法の数を数えます。10の奇数部分への分割は10通りで、オイラーの定理により、異なる部分に分ける方法の数も同じです。0から5000まで正確に求められます。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
N
10
結果
数量
10

この計算機は、非負整数 n を正の奇数の和として表す方法の個数を、順序を区別せず正確に返します。オイラーの分割定理により、この個数は、すべての部分が互いに異なる分割の個数とも一致します。整数を入力すると、浮動小数点による近似ではなく、正確な十進結果を取得できます。計算は決定的で、ネットワークを使用せず、ゼロの空分割を1つの有効な分割として扱います。

この計算機が数えるもの

整数分割とは、正の整数の和で整数を表し、加数の順序を区別しない考え方です。同じ加数を逆順に並べても別の分割にはなりません。この計算機の第一の見方では、各部分を奇数に限定します。

同じ奇数を繰り返し使うことはできます。同時に、正の整数を2回使わない相異なる部分への分割数も求めています。各要素の形は通常異なりますが、この2つの集合の大きさは、任意の非負整数 n について等しくなります。

そのため、奇数の加数を使う問題にも、重複しない加数を求める問題にも同じ結果を利用できます。n がゼロなら、慣例的な空和に対応して答えは1です。通常の整数分割はこの文脈では非負の対象にのみ定義されるため、負数は拒否されます。

奇数部分と相異なる部分が一致する理由

オイラーの定理は、母関数または直接的な変換で理解できます。各奇数部分を任意回使える場合、奇数ごとに幾何級数の因子を持つ積が得られます。一方、相異なる部分では、各正整数を1回選ぶか選ばないかの積になります。

両方の積の係数は一致するため、指定した n の係数も同じ個数になります。構成的には、繰り返された奇数部分から2の累乗を取り出し、等しい複製をまとめることで、合計を変えずに相異なる部分を作れます。この操作は逆にたどれるため、単なる数値的一致ではなく全単射です。

実装では相異なる部分の側を動的計画法で数えます。候補となる部分を1回ずつ処理し、目標の和を降順に更新します。降順にすることで、同じ処理中にその部分を再利用できません。

BigInt の正確な演算ですべての桁を保持し、最後に十進文字列へ変換します。

結果の使い方と読み方

n には、ゼロから公開上限までの非負整数を指定してください。応答は n を再掲し、条件を満たす分割の正確な個数を count に示します。オイラーの恒等式により両方の個数は同一なので、奇数部分モードと相異なる部分モードを選ぶ必要はありません。

組合せ論の演習確認、係数表の検証、母関数を扱う記号計算コードのテスト、別の決定的プログラム用の参照値作成に利用できます。出力が数えるのは順序を区別しない分割であり、組成ではありません。同じ項の順序を変えても新しい結果にはなりません。

奇数部分という解釈では値の繰り返しが許されますが、相異なる部分という解釈では禁止されます。任意精度整数を扱えない後続システムでは、大きな答えを文字列のまま保持してください。分数、未入力、上限超過、負の整数には型付き入力エラーを返します。

組合せ論の演習を確認

奇数の加数を使う問題や、すべての部分を相異ならせる問題の正確な個数を検証できます。

母関数を検証

計算した係数を、オイラーの分割恒等式に基づく独立した正確な個数と比較できます。

参照表を作成

テスト、教材、整数列研究に利用できる決定的な十進個数を生成します。

正確には何が返されますか?

n と、n を奇数部分へ分割する正確な個数を返します。これは相異なる部分への分割数でもあります。

順序は区別されますか?

いいえ。 分割は順序を持たないため、同じ加数を並べ替えても別の分割にはなりません。

10を奇数部分に分割する方法は何通りですか?

10通りです。それぞれ10を奇数の和で表し、同じ数の繰り返しは許され、順序は区別しません。同じ10通りが、繰り返しのない部分で10を表す方法の数にもなります。

なぜ1つの数で2つの問いに答えられるのですか?

オイラーの分割定理によれば、奇数部分への分割と異なる部分への分割は、どの数でも同じ個数です。等しい部分をまとめると一方が他方に変わり、その操作は元に戻せます。

どこまでの数を入力できますか?

0から5000までの整数です。負の数は受け付けません。0の結果は1で、空の和を唯一の分割と数えるためです。大きな結果もすべての桁を表示します。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/numth/partitions-distinct-odd

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/numth/partitions-distinct-odd \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"n":10}'
{
  "n": 10
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.partitions_distinct_odd",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

max_n5000
HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

この計算機が数えるもの

また、大きな正確な整数を JSON の数値範囲で丸めないよう、個数は十進文字列として返します。

結果の使い方と読み方

API による自動処理は1回あたり $0.002 です。

count が文字列なのはなぜですか。

分割数は JSON 数値の安全な整数範囲を超える場合があるため、十進文字列ですべての桁を保持します。

n がゼロの場合はどうなりますか。

空分割を表すため、個数は1になります。

負の整数を指定できますか。

いいえ。負の n には invalid_input エラーを返します。

API リクエストの料金はいくらですか。

API リクエスト1回あたり $0.002 です。

KITの完全なドキュメントを見る →