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