احسبوا تحميل أقراص البار لكل جانب
لبلوغ 100 ببار وزنه 20 ضعوا قرصا من 25 وآخر من 15 على كل جانب: 80 من الأقراص، 40 لكل جانب، بأقل عدد ممكن من الأقراص. وتجد الحاسبة التحميل الدقيق حتى حين يفشل البدء بأكبر قرص. مجاني في متصفحكم.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- الوزن المستهدف
- 100
- وزن البار
- 20
- الوزن لكل جانب
- 40
- الوزن الإجمالي المحقق
- 100
- الفرق عن الهدف
- 0
حوّلوا الوزن الإجمالي المستهدف للبار إلى خطة واضحة لتحميل الأقراص على كل جانب. أدخلوا الوزن المطلوب ووزن البار الفارغ ومقاسات الأقراص المتاحة في الصالة. تجد الحاسبة تركيبة دقيقة متى كانت موجودة، حتى عندما تفشل طريقة الاختيار البسيط من الأكبر إلى الأصغر. وإذا تعذر بلوغ الوزن بدقة، فإنها تعرض خطأ ما لم تطلبوا صراحة أقرب وزن ممكن. تتضمن كل نتيجة الوزن الإجمالي المحقق والفارق بينه وبين الهدف.
أدخلوا الوزن الإجمالي والبار ومقاسات الأقراص المتاحة
ثم أدخلوا وزن البار الفارغ واسردوا كل مقاس متاح من الأقراص. يمكن أن تمثل الأرقام كيلوجرامات أو أرطالًا ما دامت جميع الحقول تستخدم الوحدة نفسها؛ فالحاسبة لا تحول بين أنظمة القياس. اذكروا كل مقاس مرة واحدة فقط، لأن الخوارزمية تعده قابلًا للتكرار وتحدد عدد الأقراص المطلوب على كل جانب.
فمثلًا، يترك هدف مقداره 100 مع بار وزنه 20 مقدار 80 للأقراص، أي 40 على كل جانب. وإذا كانت المقاسات 25 و20 و15 و10 و5 و2.5 و1.25 متاحة، فإن قرصًا من 25 وآخر من 15 على كل جانب يحققان الهدف بدقة. تصف قائمة النتيجة طرفًا واحدًا دائمًا، لذا كرروا الترتيب نفسه على الطرف المقابل وثبتوا الطرفين جيدًا قبل الرفع.
اعثروا على تركيبة دقيقة دون الاعتماد على الاختيار الجشع
قد يبدو تحميل البار بسيطًا، لكن اختيار أكبر قرص مناسب في كل خطوة يمكن أن يعطي جوابًا خاطئًا مع مجموعات الأقراص غير المعتادة. فقد تتوقف الطريقة الجشعة مع أن تركيبة أخرى تبلغ الهدف. تبحث هذه الحاسبة في الأوزان الممكنة لكل جانب باستخدام جدول محدود للبرمجة الديناميكية، ولذلك تجد تركيبة صحيحة ودقيقة كلما وُجدت ضمن الحدود المعلنة.
وإذا تعددت التركيبات الدقيقة، فإنها تفضل الأقل عددًا من الأقراص، وهو ما يجعل الإعداد عادة أسرع وأكثر ترتيبًا. تعرض النتيجة مقاس كل قرص وعدده على كل جانب، ومجموع وزن الأقراص لجانب واحد، والوزن الإجمالي المحقق، والفارق عن الهدف، وما إذا كانت النتيجة دقيقة. تُحوّل الأوزان العشرية أثناء البحث إلى أعداد صحيحة مضروبة في مقياس، لتجنب بقايا الفاصلة العائمة التي قد تجعل 1.25 يبدو أكبر أو أصغر قليلًا من قيمته الرياضية.
وتُدمج المقاسات المكررة قبل الحساب.
تحكموا في النتيجة عندما يتعذر بلوغ الهدف
لا يمكن تركيب بعض الأوزان المستهدفة باستخدام بار ومجموعة أقراص معينين. ولأن الحمل يجب أن يكون متوازنًا، فإن كل قرص يوضع على أحد الطرفين يحتاج إلى قرص مماثل على الطرف الآخر؛ لذلك يتغير الوزن الإجمالي بمقدار يساوي ضعف مقاس القرص. افتراضيًا، يعيد الطلب غير القابل للتحقيق خطأ في الإدخال بدل أن يقترح وزنًا مختلفًا بصمت.
وهذا مفيد في برمجيات التدريب، حيث قد يؤدي استبدال الوزن دون إذن إلى تغيير الحصة المخططة. تختار الخوارزمية عندئذ الوزن الممكن ذي أصغر فارق مطلق عن الهدف؛ وإذا تعادل وزن أخف وآخر أثقل، تختار الأخف وفق قاعدة ثابتة. وقد يكون البار الفارغ نفسه أقرب نتيجة ممكنة.
تحققوا دائمًا بأنفسكم من علامات البار والأقراص والمشابك والوزن النهائي قبل الرفع.
حالات الاستخدام
إعداد حصة لتدريب القوة
حوّلوا كل وزن مقرر إلى تعليمات لتحميل كل جانب قبل بدء الحصة التدريبية.
استخدام مجموعة منزلية محدودة
أدخلوا المقاسات التي تملكونها فقط وحددوا الأهداف التي لا يمكن تركيبها بدقة.
إضافة إرشادات إلى تطبيق تدريب
أنشئوا أعدادًا ثابتة للأقراص وأوزانًا محققة وفروقًا لعرضها على شاشات الرياضيين.
الأسئلة الشائعة
هل يمكن استخدام الأرطال بدل الكيلوجرامات؟
نعم. استخدموا الوحدة نفسها للهدف والبار وجميع الأقراص؛ وستبقى قيم النتيجة بهذه الوحدة.
كيف يُحسم التعادل بين بديلين؟
إذا تساوى الفارق، يُختار الوزن الإجمالي الأخف للحصول على نتيجة ثابتة ومتحفظة.
هل الأقراص المعروضة لجانب واحد أم للجانبين؟
الأقراص المعروضة في النتيجة لجانب واحد دائما. كرّروا الترتيب نفسه تماما على الجانب الآخر، وثبّتوا الطرفين جيدا قبل الرفع.
ماذا يحدث إذا تعذّر تحميل الوزن المستهدف بدقة؟
افتراضيا تُبلَّغون بأن هذا الوزن لا يمكن بلوغه بالبار والأقراص المتوفرة. وإذا كان التقريب مقبولا فاطلبوا أقرب وزن ممكن، فتوضح النتيجة مقدار النقص أو الزيادة عن الهدف.
لماذا لا يكفي وضع أكبر قرص مناسب؟
لأن هذا الاختصار قد يتعثر مع بعض مجموعات الأقراص رغم وجود تركيبة أخرى تبلغ الهدف. فتفحص الحاسبة الأوزان الممكنة، وتختار من الحلول الدقيقة الحل الذي يستخدم أقل عدد من الأقراص.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر 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"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_target_weight | 2000 |
max_plate_denominations | 50 |
max_decimal_places | 3 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
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 للحصول على أقرب وزن إجمالي ممكن.