ForHosting KIT · 開発者向けツール

階乗進数

整数と階乗進数を相互に変換できます。23は3:2:1:0、つまり3210!で、3×3!、2×2!、1×1!を足すと23になります。各桁はその位で使える数字の上限と照合されます。ブラウザで無料で使えます。

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

階乗進変換を決定的なparseで実装します。値と必要ならモードを入れ、ネットワークなしで正確に変換します。

累乗ではなく階乗で数える

10進数では、各位の重みが1つ前の10倍になります。階乗進数では、各位の重みが階乗になり、右端の位が0!、次が1!、さらに2!、3!と続きます。また、各位の数字はその位の番号を超えられません。0番目の位には0だけ、1番目には0か1、2番目には0から2が入ります。この決まりがあるので、0以上の整数は10進数と同じく、ただ1通りに書き表せます。たとえば23は、3×3!、2×2!、1×1!、0×0!を足したもので、3:2:1:0、短く書くと3210!です。ツールはこの展開も表示するので、計算を自分で確かめられます。

使いどころとよくある間違い

階乗進数は、順列に順位を付ける土台です。順列のレーマー符号は階乗進数そのものなので、プログラミングコンテストや組み合わせ論の授業、リストのあらゆる並べ方に番号を付ける場面で使われます。最も多い間違いは、位の番号より大きい数字を書くことで、たとえば2番目の位に3を入れる場合です。ツールはこれを黙って直さず、受け付けません。また、23は10進数とも数字の並びとも読めるため、変換の向きは必ず指定してください。ツールが推測することはありません。負の数、小数、指数表記は受け付けず、扱えるのは四十桁までです。

何をするか

符号化や基数変換はよく検索されます。階乗進変換はdecimal↔factoradicを厳密検証付きで実行します。状態や時計はありません。

Webフォームは8言語ラベルのparamsを出します。

仕組み

任意項目はnullではなく省略です。paramsとcap.jsonの制限をコードで守ります。cap:verifyのパリティとランタイムスモークで見えるのに計算しないを防ぎます。

使うとき

説明どおりの正確な変換が必要なときに階乗進変換を使います。鍵付き暗号一式の代替ではありません。他のenc系と組み合わせ、サイズ制限とモードを文書化してください。

サブスクはなく成功課金のみです。

階乗進変換の授業。

階乗進変換の授業。

符号化の単体テスト。

符号化の単体テスト。

テキスト処理ユーティリティ。

テキスト処理ユーティリティ。

23を手計算で階乗進数にするには?

1、2、3と順に割り、余りを書き留めながら商で計算を続けます。23の余りは0、1、2、3で、最後から逆に読むと3:2:1:0になります。

階乗進数を10進数に戻すには?

各桁の数字にその位の階乗を掛けて足します。3210!なら18と4と1と0で、合計23です。数字はコロン、空白、カンマで区切るか、感嘆符を付けた短い形で入力できます。

階乗進数の最後の桁がいつも0なのはなぜですか?

いちばん下の位の重みは0!で、各位の数字はその位の番号を超えられないからです。0番目の位に入るのは0だけなので、階乗進数は必ず0で終わります。

階乗進数と順列にはどんな関係がありますか?

順列のレーマー符号は、実質的に階乗進数です。そのため、n個を並べるn!通りの順序に、抜けも重なりもなく順位を付けられます。順位を階乗進数にするとレーマー符号が得られ、その逆もできます。

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

POSThttps://api.kit.forhosting.com/enc/factoradic

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

curl -X POST https://api.kit.forhosting.com/enc/factoradic \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":"23"}'
{
  "value": "23"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.factoradic",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

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

1リクエストあたり$0.002

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

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

APIは成功あたり$0.002、無料Webは同じ同型コアです。

何をするか

invalid_inputで黙った誤出力を防ぎます。

仕組み

検証後に核が変換し安定したJSONを返します。APIは成功あたり$0.002です。

決定的ですか?

はい。同じ入力で同じ出力です。

通信やAIは?

いいえ。parseのみです。

不正入力は?

invalid_inputです。

料金は?

APIは成功あたり$0.002、Webは無料。

ウィジェットは?

はい。同じlib.jsのTier Aです。

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