ForHosting KIT · 数学

整数平方根計算機

82の整数平方根は9です。9の2乗は81で、10の2乗はすでに100になるからです。数十桁の数でも、0以上の整数を入力すれば、切り捨てた平方根をすべての桁まで正確に求めます。ブラウザで無料で使えます。

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

整数平方根計算機は、平方が入力値を超えない最大の整数を返します。浮動小数点の平方根を丸める方法とは異なり、正確な整数演算を使うため、非常に大きな10進整数でも桁を失いません。この結果はisqrtまたはfloor sqrtとも呼ばれます。非負整数をご入力ください。負数、分数、指数表記、曖昧な入力はエラーになります。

整数平方根の意味

非負整数nの整数平方根とは、rの平方がn以下であり、rに一を加えた値の平方がnより大きくなる唯一の整数rです。通常の平方根を常に切り捨てた値に相当します。81では答えは9です。 82でも、9の平方が81、10の平方が100なので答えは9です。

ゼロはゼロ、一は一になります。数字のみをご入力ください。先頭のプラス記号は任意です。

負数は入力エラーになり、分数と科学的記数法も、正確な整数を対象とする演算なので受け付けません。

Newton反復法で正確な値に到達する仕組み

計算にはNewton法の整数版を使用します。nのビット長から求めた、実際の平方根以上となる二の累乗を初期推定値にします。各反復では、現在値xと、nをxで割った値との平均の整数部分でxを置き換えます。

xが大きすぎると商は小さくなるため、平均値は根へ急速に近づきます。除算と中間値はすべて任意精度整数であり、浮動小数点近似は使いません。次の推定値が小さくならなくなった時点で停止します。

この値は切り捨て平方根の定義を正確に満たし、完全平方数でない値の周囲を往復しません。処理は決定的で、通信、乱数、日時、機種依存の丸めを使用しません。

因数探索の上限を求める

平方根まで約数を試す際の、正確な最後の候補を計算します。

正方形グリッドを設計する

指定した総数に収まる最大の整数辺長を求めます。

平方根は四捨五入されますか?

いいえ。 常に切り捨て、平方がn以下となる最大の整数を返します。

非常に大きな整数も入力できますか?

はい。 10進文字列として送信してください。任意精度整数で計算します。

82の整数平方根はいくつですか?

9です。9の2乗は81で82を超えませんが、10の2乗は100で82を超えます。整数平方根は、通常の平方根を常に切り捨てた値です。

負の数や小数を入力できますか?

できません。0以上の整数を数字で入力してください。先頭にプラス記号を付けることはできます。負の数、分数、指数表記は、勝手に変えずに受け付けない扱いになります。

結果は自分でどう確かめられますか?

結果を2乗して、元の数を超えないことを確認します。次に結果に1を足して2乗し、今度は元の数を超えることを確認します。この2つがそろえば答えは正しいと言えます。

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

POSThttps://api.kit.forhosting.com/numth/integer-square-root

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

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

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

1リクエストあたり$0.002

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

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

整数平方根の意味

計算機は正規化した入力と結果を10進文字列で返すため、JSONクライアントでも全桁が保たれます。

結果を安全に利用する方法

必要に応じて言語の多倍長整数型へ変換できます。約数探索の上限、最大正方形グリッド、整数幾何の検査に利用できます。コンマ、途中の空白、小数点、指数は送信しないでください。nフィールドに非負の10進整数文字列を入れたオブジェクトを送信してください。応答では正規化済みのnとsquare_rootを文字列で返します。JSONで浮動小数点を使う環境では9,007,199,254,740,991を超える整数を正確に表せないため、この形式で精度低下を防ぎます。square_rootの平方がn以下であり、square_rootに一を加えた値の平方がnを超えることをご確認ください。負数はinvalid_inputを返します。APIリクエストごとの料金は$0.002です。

巨大整数を正確に処理する

通常のJSON数値では保持できない値の切り捨て平方根を計算します。

負数を入力するとどうなりますか。

定義域外のため、invalid_inputエラーを返します。

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

JSON環境で巨大な整数が丸められないよう、正確な10進表現を保つためです。

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

基本料金はリクエストごとに$0.002です。

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