حاسبة المعامل ثنائي الحد
يمكن تشكيل لجنة من 3 أشخاص من بين 10 مرشحين بـ120 طريقة: أدخل n وk لتحصل على المعامل ثنائي الحد بدقة تامة، بكل أرقامه ودون تقريب. مجانًا في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- N
- 10
- K
- 3
- القيمة
- 120
يبيّن المعامل ثنائي الحد عدد المجموعات المختلفة المؤلفة من k عناصر التي يمكن اختيارها من n عناصر متميزة عندما لا يكون للترتيب أثر. تقبل هذه الحاسبة العددين الصحيحين غير السالبين n وk، وتتحقق من أن k لا يتجاوز n، ثم تعيد القيمة الدقيقة على هيئة سلسلة عشرية. وهي تستخدم حساباً صحيحاً حتمياً بدلاً من تقريبات الفاصلة العائمة، لذلك تلائم تمارين التوافقيات وحسابات الاحتمال واختبارات البرمجيات ومسارات العمل الآلية التي تتطلب صحة كل رقم.
افهموا ما الذي يحصيه المعامل ثنائي الحد
يحصي المعامل ثنائي الحد الاختيارات غير المرتبة. فإذا كان المطلوب تشكيل لجنة من ثلاثة أشخاص من بين عشرة مرشحين، فإن اختيار Ana وBen وChen يصف اللجنة نفسها بصرف النظر عن ترتيب اختيار الأسماء، ولذلك لا تُحسب تلك الترتيبات على نحو منفصل. تكتب النتيجة C(10,3)، أي اختيار ثلاثة من عشرة، أو بترميز يوضع فيه عشرة فوق ثلاثة بين قوسين.
وبوجه عام، تساوي C(n,k) مضروب n مقسوماً على حاصل ضرب مضروب k في مضروب n ناقص k. وتظهر الأعداد نفسها في مثلث باسكال وفي معاملات نشر مقدار مثل (x + y) مرفوع إلى قوة صحيحة غير سالبة. وتتضح الحالات الحدية من التعريف: لاختيار لا شيء من n نتيجة واحدة، ولاختيار جميع العناصر n نتيجة واحدة أيضاً، ولاختيار عنصر واحد n نتائج.
تعتمد هذه القدرة هذا التفسير القياسي للعد المحدود. وهي تشترط مؤشرات صحيحة غير سالبة وترفض k إذا كان أكبر من n بدلاً من تطبيق اصطلاح معمّم مختلف من دون تنبيه. ومن ثم تتوافق القيمة مع الاستخدام المعتاد في التوافقيات والاحتمالات التمهيدية والرياضيات المتقطعة.
أدخلوا قيمتي n وk الصالحتين واقرؤوا النتيجة
أرسلوا كائناً يحتوي على الحقلين الإلزاميين n وk. يمثّل n العدد الإجمالي للعناصر المتميزة المتاحة، ويمثّل k عدد العناصر المختارة. يجب أن تكون القيمتان عددين صحيحين غير سالبين، وألا يتجاوز n عشرة آلاف، وألا يتجاوز k قيمة n.
تُقبل أيضاً السلاسل العشرية الصحيحة بالصيغة القياسية، وهو أمر مفيد عندما يأتي الإدخال من نموذج نصي، بينما تُرفض الإشارات والكسور والصيغة الأسية والسلاسل الفارغة والقيم المنطقية واللانهايات وسائر القيم غير الصحيحة. تعيد الاستجابة الناجحة n وk بعد توحيدهما كعددين، وتقدم value كسلسلة عشرية دقيقة. احتفظوا بـvalue كنص عند النقل أو التخزين، أو حوّلوه باستعمال أعداد صحيحة عشوائية الدقة في لغة البرمجة.
استخدموا الحساب الدقيق بكفاءة وصواب
لا يحسب التنفيذ ثلاثة مضروبات ضخمة ثم يقسمها، بل يستخدم صيغة الضرب المكافئة والتناظر C(n,k) = C(n,n-k). وبهذا لا تحتاج الحلقة إلا إلى العدد الأصغر من الخطوات بين k وn ناقص k. تضرب كل خطوة قيم BigInt دقيقة وتقسمها، فلا يوجد تقريب بفاصلة عائمة ولا أخذ عينات عشوائية ولا تقدير يعتمد على المنصة.
يفيد هذا النهج في بيانات الاختبار والأدوات التعليمية ومسارات الاحتمال والبرامج التي تحتاج إلى معامل واحد بدلاً من صف كامل من مثلث باسكال. وعند استعمال النتيجة في احتمال ثنائي الحد، اضربوا المعامل في القوى المناسبة لاحتمالي النجاح والإخفاق ضمن خطوة منفصلة؛ فهذه القدرة تعيد العامل التوافقي الدقيق وحده. لا تستخدموها للتباديل، لأن التباديل تعد اختلاف ترتيب الاختيار نتيجة مختلفة وتستعمل صيغة أخرى.
وتجنبوا أيضاً تحويل value كبير إلى عدد عادي ذي فاصلة عائمة، إذ يؤدي ذلك إلى فقدان الدقة المحفوظة. عند تكرار الحسابات للقيمة نفسها من n، يمكنكم طلب كل قيمة لازمة من k على حدة؛ أما إذا احتاج التطبيق إلى ملايين المعاملات أو مؤشرات تتجاوز الحد المنشور، فقد تكون البرمجيات المحلية المتخصصة أكثر كفاءة.
حالات الاستخدام
تحققوا من تمارين التوافقيات
راجعوا الحسابات اليدوية للجان والبطاقات والفرق والمجموعات الجزئية بواسطة قيمة دقيقة وقابلة للتكرار لاختيار k من n.
أنشئوا حسابات الاحتمال
احصلوا على المضاعف التوافقي الدقيق للاحتمالات ثنائية الحد قبل تطبيق حدود النجاح والإخفاق.
أنشئوا قيماً اختبارية موثوقة
ولّدوا معاملات متوقعة دقيقة لاختبارات الوحدات من دون مضروبات الفاصلة العائمة أو الخدمات الخارجية.
الأسئلة الشائعة
ما معنى اختيار k من n؟
هو عدد طرائق اختيار k عناصر من n عناصر متميزة عندما لا يكون للترتيب أثر.
هل القيم الصفرية مدعومة؟
نعم. تساوي C(0,0) العدد 1، كما تساوي C(n,0) العدد 1 لكل n غير سالب ضمن النطاق.
كيف يُحسب المعامل ثنائي الحد؟
اقسم مضروب n على حاصل ضرب مضروب k في مضروب n − k. ولتشكيل لجنة من 3 من بين 10 مرشحين يساوي C(10,3) القيمة 10! / (3! · 7!)، أي 120 لجنة مختلفة.
ماذا يحدث إذا كان k أكبر من n؟
ترفض الحاسبة الإدخال بدلًا من تطبيق اصطلاح آخر، لأنه لا يمكن اختيار عناصر أكثر من الموجودة. تأكد من أن k، عدد المختارين، لا يتجاوز n، العدد الكلي.
ما أكبر قيمة لـ n يمكن حسابها؟
حتى 10000. تأتي النتيجة دقيقة حتى آخر رقم ودون تقريب حتى لو كان العدد كبيرًا جدًا، لذا تصلح للاحتمالات وتمارين التوافيق والتحقق من الحسابات.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/algebra/binomial-coefficient \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":10,"k":3}'const res = await fetch("https://api.kit.forhosting.com/algebra/binomial-coefficient", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 10,
"k": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/binomial-coefficient",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 10,
"k": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/binomial-coefficient", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":10,"k":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":10,"k":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/binomial-coefficient", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"n": 10,
"k": 3
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.binomial_coefficient",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_n | 10000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
أدخلوا قيمتي n وk الصالحتين واقرؤوا النتيجة
وقد اختيرت السلسلة عمداً، لأن معاملات كثيرة تتجاوز مجال الأعداد الصحيحة الآمن في JavaScript حتى مع مؤشرات متوسطة، وتحويلها إلى عدد JSON قد يغيّر أرقامها الأخيرة بصمت. تنتج الطلبات غير الصالحة الخطأ invalid_input مع رسالة توضح القاعدة المخالفة. تبلغ كلفة كل طلب API ناجح $0.002؛ ولا يستخدم الحساب الشبكة ولا يعتمد على بيانات خارجية متغيرة.
أسئلة تقنية
لماذا تعاد value كسلسلة؟
قد تتجاوز المعاملات المجال الدقيق لأعداد JSON، أما السلسلة العشرية فتحفظ جميع الأرقام.
ماذا يحدث إذا كان k أكبر من n؟
يُرفض الطلب بالخطأ invalid_input لأن الحاسبة تشترط أن يكون k غير سالب وألا يتجاوز n.
ما كلفة الحساب عبر API؟
تبلغ كلفة كل طلب API ناجح $0.002. ويمكن لنسخة المتصفح تنفيذ الحساب الحتمي نفسه محلياً.