バーベルのプレート重量を片側ごとに計算
バー20で100にするなら、片側に25と15を1枚ずつ付けます。プレートは合計80、片側40で、枚数も最少です。大きいプレートから順に選ぶ方法ではうまくいかない場合でも、正確な組み合わせを見つけます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 目標重量
- 100
- バーの重量
- 20
- 片側の重量
- 40
- 達成した総重量
- 100
- 目標との差
- 0
バーベルの目標総重量を、左右それぞれの分かりやすいプレート構成に変換します。目標、空のバー重量、ジムで使えるプレートの種類をご入力ください。単純に重い順で選ぶ方法では失敗する組み合わせでも、可能であれば正確な解を求めます。正確に組めない場合は、最も近い重量を明示的に指定しない限りエラーを返します。結果には実現した総重量と目標との差も含まれます。
総重量、バー、利用できるプレートをご入力ください
最初に、バーと左右のプレートをすべて含む目標総重量をご入力ください。続いて、空のバー重量と利用できる各プレート重量を指定します。すべての項目で同じ単位を使えば、キログラムでもポンドでも計算できますが、単位の変換は行いません。
同じ重量のプレートは繰り返し使えるものとして扱い、片側に必要な枚数を計算しますので、種類ごとに一度だけ入力してください。たとえば目標が 100、バーが 20 なら、プレート分は 80、片側は 40 です。25、20、15、10、5、2.5、1.25 が使える場合、左右それぞれに 25 を 1 枚、15 を 1 枚載せると正確に到達します。
結果の一覧は常に片側だけを示します。反対側にも同じ種類と枚数を載せ、持ち上げる前に両端をカラーで確実に固定してください。
重い順の方法に頼らず正確な組み合わせを探します
プレートの装着は単純に見えますが、入る中で最も重いものを毎回選ぶ方法は、特殊な構成では誤った結論になることがあります。別の組み合わせなら目標に届くのに、単純な方法では途中で行き詰まる場合があるためです。この計算機は、上限を設けた動的計画法の表で片側の到達可能な重量を調べ、宣言された制限内に正確な組み合わせがあれば見つけます。
正確な候補が複数ある場合は、通常より素早く整理して装着できるよう、合計枚数が少ない構成を優先します。結果には、片側の各重量と枚数、片側のプレート合計、実現した総重量、目標との差、正確かどうかが表示されます。探索時には小数を倍率付きの整数へ変換するため、1.25 が数学上の値よりわずかに大きくまたは小さく見える浮動小数点誤差を避けられます。
重複した種類は計算前にまとめます。
目標を作れない場合の動作を指定できます
バーとプレートの組み合わせによっては、作れない目標重量があります。左右を均等にする必要があるため、片側に 1 枚載せると反対側にも同じものが必要で、総重量はプレート重量の 2 倍ずつ変化します。標準設定では、到達できない要求に対して別の重量を黙って提示せず、入力エラーを返します。
許可なく近似すると予定したトレーニング内容が変わり得るため、運動管理ソフトウェアでも安全な動作です。目標との差の絶対値が最小の総重量を選び、軽い候補と重い候補が同距離なら、決定的な規則として軽い方を採用します。空のバーだけが最も近い結果になる場合もあります。
実際に持ち上げる前に、バーの表示、プレート、カラー、総重量をご自身で必ず確認してください。
活用例
筋力トレーニングを準備する
セッション開始前に、予定された各重量を左右それぞれの装着指示へ変換できます。
限られた自宅用セットを活用する
お持ちのプレートだけを指定し、正確に組めない目標重量を確認できます。
指導アプリに装着案内を追加する
選手向け画面に、再現可能な枚数、実現重量、目標との差を表示できます。
よくある質問
キログラムではなくポンドも使えますか?
はい。 目標、バー、すべてのプレートで同じ単位をお使いください。出力もその単位のままです。
同じ距離の候補はどのように選びますか?
安定した慎重な結果にするため、目標との差が同じ場合は軽い総重量を選びます。
表示されるプレートは片側分ですか?
はい、結果のプレートは常に片側分です。反対側にもまったく同じ組み合わせを付け、両端を固定してから挙げてください。
目標重量をぴったり作れない場合はどうなりますか?
初期設定では、そのバーとプレートでは作れない重量だと知らせます。近い値でよければ、作れる最も近い合計を求める設定を選ぶと、目標との差(軽いか重いか)も示されます。
入る中で一番大きいプレートを選べばよいのではないですか?
プレートの組み合わせによっては、その近道では行き詰まり、別の組み合わせなら目標に届くことがあります。この計算では作れる重量を調べ、ぴったりの候補の中から最も枚数の少ないものを選びます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/fitness2/plate-math-calculate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"target_weight":100,"bar_weight":20,"plates":[25,20,15,10,5,2.5,1.25]}'const res = await fetch("https://api.kit.forhosting.com/fitness2/plate-math-calculate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"target_weight": 100,
"bar_weight": 20,
"plates": [
25,
20,
15,
10,
5,
2.5,
1.25
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fitness2/plate-math-calculate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"target_weight": 100,
"bar_weight": 20,
"plates": [
25,
20,
15,
10,
5,
2.5,
1.25
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fitness2/plate-math-calculate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"target_weight":100,"bar_weight":20,"plates":[25,20,15,10,5,2.5,1.25]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"target_weight":100,"bar_weight":20,"plates":[25,20,15,10,5,2.5,1.25]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fitness2/plate-math-calculate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"target_weight": 100,
"bar_weight": 20,
"plates": [
25,
20,
15,
10,
5,
2.5,
1.25
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fitness2.plate_math_calculate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_target_weight | 2000 |
max_plate_denominations | 50 |
max_decimal_places | 3 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
目標を作れない場合の動作を指定できます
近似を許容する場合は closest_match を有効にしてください。difference_from_target では符号付きの差を確認でき、負なら目標より軽く、正なら重いことを表します。
技術的な質問
API リクエストの料金はいくらですか?
成功した API リクエストは $0.002 からです。計算は決定的で、外部サービスを利用しません。
表示されるプレートは片側分ですか?
plates_per_side はバーの片側を示します。反対側にも同じ重量と枚数を載せてください。
目標を正確に作れない場合はどうなりますか?
標準では invalid_input エラーを返します。closest_match を有効にすると最も近い実現可能な総重量を返します。