حاسبة الاضطرابات
احسب عدد الترتيبات التي لا يبقى فيها شيء في مكانه: عند سحب أسماء تبادل الهدايا السري بين 5 أشخاص توجد 44 سحبة لا يسحب فيها أحد اسمه، وهذا هو !5. مجانًا في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- N
- 5
- الاضطرابات
- 44
- الترميز
- !5
الاضطراب هو تبديل لـ n عنصرًا لا يظهر فيه أي عنصر في موضعه الأصلي — مسألة حفظ القبعات الكلاسيكية، وسانتا السري بلا هدايا ذاتية، والطوابق المخلوطة التي تتجنب البطاقات الثابتة تطلب كلها العدّ نفسه. ذلك العدّ هو العاملي الفرعي ! n، ويُكتب أيضًا d(n) أو D_n. تقيّم هذه الحاسبة ! n بالتكرار الحتمي حيث ! 0 يساوي واحدًا و! 1 يساوي صفرًا، ولكل n أكبر تكون القيمة هي n ناقص واحد مضروبًا في مجموع العامليّين الفرعيّين السابقين، مُنفَّذًا بـ BigInt لتبقى إجابات الصف والمقابلة دقيقة. يُرفض n السالب بخطأ تحقق واضح لأن المتتالية معرّفة فقط للأعداد الصحيحة غير السالبة.
ما الذي تعدّه الاضطرابات ومتى يهمّ العاملي الفرعي
اضطراب مجموعة منتهية هو تقابل بلا نقاط ثابتة: كل عنصر يتحرك. عدد مثل هذه التباديل لمجموعة من n عنصرًا هو العاملي الفرعي ! n. القصة التي أشهرَت المفهوم هي مسألة حفظ القبعات: n ضيفًا يودعون n قبعة ويتلقى كل منهم قبعة عشوائية؛ بكم طريقة يمكن أن يتلقى كل ضيف قبعة خاطئة؟
سحوبات سانتا السري، وخطط الجلوس التي تمنع الجميع من مقعدهم المعتاد، ومسائل البرمجة التي تطلب تباديل بلا فهارس ثابتة هي الكائن التوافيقي نفسه بأسماء مختلفة. تبدأ المتتالية بـ ! 0 يساوي واحدًا وفق اصطلاح الجداء الفارغ، و!
1 يساوي صفرًا لأن عنصرًا واحدًا لا يستطيع التحرك، و! 2 يساوي واحدًا، و! 3 يساوي اثنين، و!
4 يساوي تسعة، و! 5 يساوي أربعة وأربعين. لـ n الكبير تقترب نسبة !
n إلى n! من واحد على e، ولهذا تذكر مقررات الاحتمال أن تبديلًا عشوائيًا يكون اضطرابًا باحتمال قريب من سبعة وثلاثين بالمئة. العامليات الكاملة تعدّ كل التباديل بما فيها ذات النقاط الثابتة؛ التباديل P(n,r) تعدّ عينات مرتبة بحجم r؛ والتوافيق تتجاهل الترتيب تمامًا. إذا كان سؤالكم تحديدًا عن عدد الطرق التي لا يبقى فيها شيء في موضعه، فأنتم بحاجة إلى العاملي الفرعي لا إلى تلك الأدوات الأخرى.
تُرجع هذه القدرة فقط ذلك العدّ المرتب بلا نقاط ثابتة حتى يصل الباحثون عن حاسبة اضطرابات أو عاملي فرعي إلى الصيغة التي يحتاجونها فعلًا.
كيف تقيّم هذه الحاسبة !n وتتحقق من الإدخال
يتحقق المحرك من أن n موجود كعدد صحيح منتهٍ غير سالب لا يتجاوز الحد الأعلى المنشور وهو عشرة آلاف. لـ n المقبول تسير التنفيذ عبر التكرار من الحالات الأساسية: تبدأ بـ ! 0 يساوي واحدًا و!
1 يساوي صفرًا، ثم لكل k من اثنين حتى n تضع ! k مساويًا لـ k ناقص واحد مضروبًا في مجموع ! k ناقص واحد و!
k ناقص اثنين، باستخدام حساب BigInt طوال الطريق. هذا التكرار مكافئ جبريًا لصيغة التضمين-الإقصاء حيث ! n يساوي عاملي n مضروبًا في المجموع المتناوب لعواملية معكوسة، لكن التكرار لا يحتاج أبدًا إلى قسمة فاصلة عائمة ولا يُنشئ عامليًا كاملًا.
تستجيب الاستجابة أيضًا بـ n وسلسلة ترميز مثل علامة تعجب خمسة وملاحظة صيغة قصيرة تصف التكرار أو الحالة الأساسية. الحالات الحدّية صريحة: ! 0 هو واحد و!
الاستخدام العملي والحدود والتسعير والتسليم
استخدموا أداة المتصفح عندما تريدون ! n دقيقًا فوريًا أثناء دراسة الرياضيات المتقطعة أو التحقق من إجابة مسابقة أو شرح مسألة حفظ القبعات دون تثبيت نظام جبر حاسوبي. الفهارس المقبولة تمتد من صفر إلى عشرة آلاف حتى تبقى عروض الصف والمرشحات التوافيقية ممكنة دون نمو ذاكرة غير محدود على نواتج مرضية.
النتائج حتمية بالكامل: نفس n ينتج دائمًا نفس قيمة الاضطرابات ونفس الترميز ونفس حقول الصيغة. لا يوجد نموذج لغوي ولا خدمة حساب خارجية ولا عشوائية، لذا تصلح القدرة للتثبيت في فحوصات التكامل المستمر ومواد الدروس القابلة لإعادة الإنتاج.
حالات الاستخدام
التحقق من الواجبات والمسابقات
يؤكد الطلاب والمقيّمون !n لمسائل حفظ القبعات وسانتا السري دون نظام جبر حاسوبي محلي، بما في ذلك الحالتان الأساسيتان !0=1 و!1=0.
تحديد حجم فضاء العينات للنماذج بلا نقاط ثابتة
يمكن لخطوط الأنابيب التي تنمذج اضطرابات عشوائية استدعاء وسيط حتمي للعاملي الفرعي بدل إعادة تنفيذ تكرار BigInt في كل لغة.
تعليم الاضطرابات مقابل التباديل الكاملة
يمكن لصفحات الدرس التي تقابل n! مع !n أن تعرض أعدادًا دقيقة بجانب التكرار حتى يربط المتعلمون ترميز العاملي الفرعي بالتباديل بلا نقاط ثابتة.
الأسئلة الشائعة
ما صيغة العاملي الفرعي !n؟
الحالتان الأساسيتان ! 0=1 و! 1=0. لـ n≥2، ! n=(n−1)(!( n−1)+!( n−2)). وبشكل مكافئ ! n=n×!( n−1)+(−1)^n. العدّ هو عدد التباديل بلا نقاط ثابتة.
ماذا يحدث إذا كان n سالبًا؟
الاضطرابات معرّفة فقط للأعداد الصحيحة غير السالبة؛ تلك المكالمات لا تُحتسب.
كيف تختلف الاضطرابات عن التباديل العادية؟
العاملي n! يعدّ كل تباديل n عنصرًا. العاملي الفرعي ! n يعدّ فقط تلك بلا نقاط ثابتة. لـ n الكبير تقترب ! n/n! من 1/e ≈ 0.3679.
ما احتمال ألا يترك خلط عشوائي أي عنصر في مكانه؟
مع كبر n يقترب الاحتمال من واحد على e، أي نحو سبعة وثلاثين بالمئة. وهو العاملي الفرعي !n مقسومًا على n!، أي عدد كل الترتيبات الممكنة للعناصر نفسها.
كم عدد الاضطرابات للقيم الصغيرة من n؟
تبدأ المتتالية هكذا: !0 = 1 و!1 = 0 و!2 = 1 و!3 = 2 و!4 = 9 و!5 = 44. تُعد المجموعة الفارغة ترتيبًا واحدًا صالحًا، أما العنصر الوحيد فلا يمكنه أن يتحرك.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/combo/derangement \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":5}'const res = await fetch("https://api.kit.forhosting.com/combo/derangement", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/combo/derangement",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/combo/derangement", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/combo/derangement", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"n": 5
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "combo.derangement",
"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 | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
النتائج حتمية بالكامل، مجانية في أداة المتصفح، ومتاحة كعناصر API مدفوعة مسبقًا عندما تحتاج أدوات تصحيح الواجبات أو عروض الاحتمال أو أدوات التوافيق إلى JSON مستقر بدل أدوات طرف ثالث مبهمة.
كيف تقيّم هذه الحاسبة !n وتتحقق من الإدخال
أرسلوا جسم JSON بالحقل الصحيح الإلزامي n. إذا كان n سالبًا يفشل الطلب فورًا بـ invalid_input مسميًا قاعدة المجال تلك، ولا تُحتسب المكالمة. الحقول الناقصة وغير الصحيحة والقيم غير المنتهية والقيم فوق الحد تفشل أيضًا بـ invalid_input. يُرجع الناتج كرقم JSON عندما يناسب نطاق الأعداد الصحيحة الآمنة، وإلا كسلسلة عشرية حتى لا يفقد العملاء أرقام الرتبة العليا.
الاستخدام العملي والحدود والتسعير والتسليم
استخدموا API عندما يحتاج سكربت أو مصحح واجبات أو منصة تحضير للمقابلات أو موقع تعليمي إلى JSON مستقر لقيم كثيرة تحت عقد واحد. كل طلب ناجح عنصر قابل للفوترة بسعر $0.002؛ فشل التحقق لا يستهلك الرصيد. أوصلوا نقطة النهاية بعروض التوافيق وصناديق اختبار مقابلات البرمجة ودروس الاحتمال التي تحتاج حجم فضاء العينات بلا نقاط ثابتة، أو خطوات معالجة مسبقة صحيحة حيث تفضلون أصلًا الحساب الدقيق للعاملي الفرعي على استدلالات تقريبية مبنية على e أو حاسبات صندوق أسود مبهمة لا تُظهر بنية التكرار ولا قيد المجال عندما يكون n سالبًا.
أسئلة تقنية
كيف أحسب عدد اضطرابات n بهذه API؟
أرسلوا جسم JSON بالحقل الصحيح n إلى combo.derangement. تُرجع الاستجابة derangements وترميزًا مثل !5 وملاحظة صيغة قصيرة للتكرار.
هل حاسبة الاضطرابات مجانية؟
تعمل أداة المتصفح مجانًا على جهازكم. تستخدم استدعاءات API رصيد KIT المدفوع مسبقًا بسعر $0.002 لكل عنصر ناجح؛ إخفاقات التحقق لا تُحتسب.