حاسبة عدد بيل
قيمة B(5) هي 52: توجد 52 طريقة لتقسيم خمسة عناصر مختلفة إلى مجموعات غير فارغة إذا لم يكن لترتيب المجموعات أهمية. أدخل أي n من 0 إلى 20 واحصل على عدد بيل الدقيق، لتمارين التوافيق أو تجزئة المجموعات. مجانية في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- الفهرس n
- 0
- عدد بيل
- 1
مجانية
ما الذي يعدّه B(n)
بمعطى عدد صحيح غير سالب n، تُرجع هذه الوجهة B(n)، أي عدد بيل، الذي يعدّ طرق تجزئة مجموعة من n عنصرًا متمايزًا إلى كتل غير خالية وغير مرتبة. يساوي كل من B(0) وB(1) الواحد، ثم تنمو المتتالية إلى 2 و5 و15 و52 و203 و877 حين يكون n من 2 إلى 7. ولأن التجزئة تتجاهل ترتيب الكتل وترتيب العناصر داخل الكتلة، فإن B(n) يساوي أيضًا مجموع أعداد ستيرلنغ من النوع الثاني على جميع أعداد الكتل الممكنة.
والنتيجة عدد صحيح دقيق، لا عدد عشري ولا تقريب، فيمكن للشيفرة اللاحقة مقارنته مباشرة.
علاقة التكرار المستخدمة
داخليًا، تُبنى القيمة بعلاقة تكرار تصاعدية بدلًا من جدول بحث ثابت. انطلاقًا من B(0)=1، تُجمَّع كل قيمة جديدة B(i+1) بوصفها مجموعًا على k للحدود C(i,k)·B(k)، حيث يُولَّد المعامل الثنائي C(i,k) تدريجيًا بالتحديث الضربي c = c·(i−k+1)/k، ما يتفادى تكوين مضروب قد يفيض. ويمر المجموع الجاري عبر Math.round قبل تخزينه، فيُصحَّح خطأ الفاصلة العائمة الطفيف الذي قد تُدخِله القسمة، وبذلك تبقى كل قيمة مخزّنة B(i) عددًا صحيحًا دقيقًا.
وهذه هي المتطابقة نفسها التي يقوم عليها مثلث بيل، وتُقيَّم بعدد من عمليات الجمع من الرتبة O(n²).
المجال والتحقق والوصول
التحقق صارم ويجري قبل أي حساب. والحد الأعلى 20 مقصود: إذ يساوي B(20) القيمةَ 51,724,158,235,372، وهي أكبر عدد بيل لا يزال يتّسع تمامًا في عدد جافاسكربت مزدوج الدقة، فلا تعيد الوجهة أبدًا عددًا صحيحًا كبيرًا مقرّبًا في صمت. أما n السالب أو الكسري أو السلاسل أو المصفوفات أو غياب n فتُرفض جميعها بالطريقة نفسها.
حالات الاستخدام
مقرر التوافقيات
تحقّق من أعداد التجزئات B(0)–B(20) أثناء تدريس تجزئات المجموعات وأعداد ستيرلنغ، بأعداد صحيحة دقيقة يستطيع الطلبة التحقق منها يدويًا للقيم الصغيرة من n.
الأسئلة الشائعة
ماذا تحسب هذه القدرة؟
عدد بيل B(n): أي عدد طرق تجزئة مجموعة من n عنصرًا إلى كتل غير خالية وغير مرتبة. تعيد صدى n وتُرجع value.
لماذا يُحدّ n عند 20؟
لأن B(20) = 51,724,158,235,372 هو أكبر عدد بيل يتّسع تمامًا في عدد مزدوج الدقة، فما فوق 20 لن تبقى النتيجة دقيقة. ويجب أن يكون n عددًا صحيحًا من 0 إلى 20.
هل الجواب دقيق؟
نعم. يُقرَّب كل حد إلى عدد صحيح داخل علاقة التكرار، فتكون value عددًا صحيحًا دقيقًا لا تقريبًا بفاصلة عائمة.
بكم طريقة يمكن تقسيم ثلاثة عناصر إلى مجموعات؟
بخمس طرق، وهي قيمة B(3). يمكن أن تبقى العناصر الثلاثة معًا، أو يقف كل منها وحده، أو يتكون أحد الأزواج الثلاثة الممكنة ويبقى العنصر الأخير منفردًا.
ما العلاقة بين أعداد بيل وأعداد ستيرلنغ؟
عدد بيل هو مجموع أعداد ستيرلنغ من النوع الثاني لقيمة n نفسها، مأخوذة لكل عدد ممكن من المجموعات. وكل عدد ستيرلنغ يحسب طرق التقسيم إلى هذا العدد بالضبط من المجموعات.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/math/bell-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":5}'const res = await fetch("https://api.kit.forhosting.com/math/bell-number", {
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/math/bell-number",
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/math/bell-number", 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/math/bell-number", 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": "math.bell_number",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
أدخل عددًا صحيحًا غير سالب n (من 0 إلى 20) لتحصل على B(n)، أي عدد طرق تجزئة مجموعة من n عنصرًا إلى كتل غير خالية وغير مرتبة، معادًا كعدد صحيح دقيق بصيغة JSON. مجانًا في المتصفح أو عبر API ابتداءً من $0.002.
ما الذي يعدّه B(n)
يحمل جسم الطلب حقلًا مطلوبًا وحيدًا هو n، ويعيد الرد صداه إلى جانب value، أي عدد بيل المحسوب، بصيغة JSON بسيطة مثل {"n":5,"value":52}.
علاقة التكرار المستخدمة
وتُحسب كل قيمة وسيطة B(k) حتى n مرة واحدة ويُعاد استعمالها، فطلبٌ عند n=20 لا يجري سوى بضع مئات من العمليات ويعيد النتيجة فورًا، دون عمق تعاود يُخشى تجاوزه ودون ذاكرة حفظ مؤقتة تُسخَّن بين الطلبات.
المجال والتحقق والوصول
يجب أن يكون الإدخال كائن JSON، وأن يكون n عددًا صحيحًا واقعًا في المجال المغلق من 0 إلى 20؛ وأي خلاف ذلك يُطلق خطأ invalid_input مُصنَّفًا تسمّي رسالتُه الحقلَ المخالف بدل استثناء مجرد.
حالات التكامل
تجهيزات الاختبار
وّلد أعداد بيل موثوقة بوصفها قيم golden لاختبارات الوحدة لشيفرتك الخاصة بالتجزئة أو التجميع أو التعداد.
أدوات المتتاليات
املأ عمليات بحث OEIS A000110 أو جداول البيانات بالجملة عبر API دون شحن مكتبة أعداد صحيحة كبيرة إلى العميل.
أسئلة تقنية
ماذا يُعيد الإدخال الخاطئ؟
خطأ invalid_input مُصنَّف يسمّي الحقل — مثل n غير صحيح أو سالب أو خارج المجال، أو غياب n.
هل هي مجانية؟
نعم في المتصفح بوصفها widget من الفئة tier A. أما API فيكلّف $0.002 لكل نداء ناجح؛ والمهام الفاشلة لا تُحاسَب.