متتالية شتيرن الثنائية / Stern–Brocot
احصل على أي حد من متتالية شتيرن الثنائية الذرية من رقمه: s(10) يساوي 3، ويُحسب بخطوات صحيحة تُنصّف الرقم في كل مرة، فتبقى النتيجة دقيقة حتى مع الأرقام الكبيرة. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- N
- 10
- شتيرن
- 3
- تكرار
- s(0)=0; s(1)=1; s(2k)=s(k); s(2k+1)=s(k)+s(k+1)
متتالية شتيرن الثنائية الذرية متتالية صحيحة كلاسيكية مرتبطة ارتباطًا وثيقًا بشجرة Stern–Brocot للأعداد النسبية الموجبة. تُعرَّف بقيمتين بذرتين وقاعدة انقسام حسب زوجية الفهرس: s للصفر صفر، وs للواحد واحد؛ عندما يكون الفهرس زوجيًا ويساوي اثنين k يساوي الحد s لـ k؛ وعندما يكون فرديًا ويساوي اثنين k زائد واحد يساوي الحد s لـ k زائد s لـ k زائد واحد. تبدأ القائمة الناتجة صفر، واحد، واحد، اثنان، واحد، ثلاثة، اثنان، ثلاثة، واحد، أربعة، ثلاثة، خمسة، اثنان، خمسة، ثلاثة، أربعة، وتستمر بالخاصية اللافتة أن الحدود المتتالية دائمًا أولية نسبيًا.
ما متتالية شتيرن الثنائية وكيف يعمل التكرار الزوجي/الفردي
ابدأوا بالبذور s للصفر يساوي صفرًا وs للواحد يساوي واحدًا. لكل فهرس لاحق تعتمد القاعدة على الزوجية فقط. إن كان n زوجيًا فاكتبوا n يساوي اثنين k وضَعوا s لـ n يساوي s لـ k — تظهر القيمة نفسها عند نصف الفهرس.
إن كان n فرديًا فاكتبوا n يساوي اثنين k زائد واحد وضَعوا s لـ n يساوي s لـ k زائد s لـ k زائد واحد. بسط بضع خطوات يعطي صفر، واحد، واحد، اثنان، واحد، ثلاثة، اثنان، ثلاثة، واحد، أربعة، ثلاثة، خمسة، اثنان، خمسة، ثلاثة، أربعة، واحد، خمسة، أربعة، سبعة، ثلاثة، وهكذا. الأزواج المتجاورة دائمًا أولية نسبيًا، ويظهر كل نسبي موجب مرة واحدة بالضبط كنسبة متتالية s لـ m على s لـ m زائد واحد عند السير في المتتالية، وذلك التعداد هو شجرة Stern–Brocot مسطّحة بالعرض.
يُسمّى نفس التكرار أحيانًا متتالية Calkin–Wilf أو Stern–Brocot حسب العرض؛ تستخدم هذه الأداة الشكل الثنائي الذري القياسي مع s للصفر يساوي صفرًا. ولأن كل خطوة جمع صحيح دقيق أو نصف فهرس خالص، فلا خطأ تقريب ولا اعتماد على الساعة أو بذور عشوائية. عندما تحتاجون حدًا واحدًا فقط أرسلوا الفهرس n؛ تعيد الاستجابة n وقيمة شتيرن وسلسلة صيغة قصيرة لحالتَي الزوجي والفردي ووصف بذور التكرار الكامل حتى يعيد المصححون والطلاب الحساب يدويًا أو على الورق.
نصائح عملية وحدود وبحوث ذات صلة
عند التصحيح أكدوا حقل stern وسلسلة formula معًا ليسهل تشخيص تكرار خاطئ أو خلط مع فيبوناتشي. تغطي صفحات شقيقة في هذه الحزمة نوايا متتاليات وشكلية أخرى مثل أعداد بادوفان والمثلثية والمضلعية ومجاميع متسلسلات حسابية؛ هذه الصفحة تحديدًا لمن يبحث عن حاسبة متتالية Stern–Brocot أو أعداد شتيرن الثنائية أو الحد النوني لمتتالية شتيرن. لا تعاملوا العدد الصحيح وحده كصندوق أسود — اقرنوه بقواعد الزوجي والفردي الموثّقة عند التدريس حتى لا تُخلط إزاحات OEIS البديلة مع اتفاقية s للصفر يساوي صفرًا المستخدمة هنا.
سقفوا n بمليار ليبقى كل طلب محدودًا؛ وإن احتجتم فهارس أكبر انتقلوا إلى أدوات أعداد كبيرة خارج مسار parse المجاني هذا.
حالات الاستخدام
مدققون لمسابقات البرمجة وإعداد المقابلات
أكدوا حلولًا مرشحة لمسائل متتالية شتيرن أو شجرة Stern–Brocot دون إعادة تنفيذ التكرار في كل harness لغة.
عروض تدريس لأزواج متتالية أولية نسبيًا وتعداد النسبية
اعرضوا n وstern وformula وrecurrence في الصف ليرى المتعلمون البذور وقواعد الزوجي والفردي وكيف تغطي النسب المتتالية النسبية الموجبة.
الأسئلة الشائعة
ما متتالية شتيرن الثنائية الذرية؟
المتتالية المعرّفة بـ s(0)=0 وs(1)=1 وs(2k)=s(k) وs(2k+1)=s(k)+s(k+1). تبدأ 0, 1, 1, 2, 1, 3, 2, 3, 1, 4, 3, 5, … وترتبط بشجرة Stern–Brocot.
لماذا تُسمّى Stern–Brocot؟
السير في الأزواج المتتالية s(n)/s(n+1) يعدّ كل نسبي موجب مرة واحدة بالضبط — نفس بنية شجرة Stern–Brocot للكسور. المتتالية ذاتها هي ثنائية شتيرن الذرية.
ما s(0) وs(1)؟
حسب الاتفاقية المستخدمة هنا s(0)=0 وs(1)=1. كل حد لاحق يتبع قواعد الفهرس الزوجي والفردي. الاستجابة تعيد دائمًا التكرار لتكون البذور صريحة.
كيف أحسب s(10) يدويًا؟
نصّف الرقم ما دام زوجيًا وقسّمه إلى جزأين حين يكون فرديًا. بما أن 10 زوجي فإن s(10) يساوي s(5)، و5 فردي فيكون s(5) مجموع s(2) وs(3)، أي 1 زائد 2، فالناتج 3.
لماذا لا يشترك حدان متتاليان في أي عامل؟
هذه خاصية في المتتالية نفسها: كل حدين متجاورين أوليان فيما بينهما. ولهذا تمر النسب s(m) على s(m + 1) بكل كسر موجب مرة واحدة تمامًا، وفي أبسط صورة، فتعيد بناء شجرة Stern–Brocot.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/math/stern-brocot \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":10}'const res = await fetch("https://api.kit.forhosting.com/math/stern-brocot", {
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/math/stern-brocot",
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/math/stern-brocot", 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/math/stern-brocot", 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": "math.stern_brocot",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_n | 1000000000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تعيد هذه القدرة قيمة شتيرن النونية الدقيقة ككائن JSON حتمي — بلا حزمة جبر حاسوبي وبلا تقريب عائم وبلا نداء شبكة — فيرى مصححو الواجبات ومدققو المسابقات وعروض التدريس نفس النتيجة الصحيحة الخالصة في منفّذ المتصفح المجاني ومسار API المدفوع مسبقًا.
ما متتالية شتيرن الثنائية وكيف يعمل التكرار الزوجي/الفردي
الفهارس السالبة ليست جزءًا من هذه المتتالية الكلاسيكية غير السالبة: يرفضها المعالج بـ invalid_input بدل اختراع امتداد موقّع.
كيف تستدعون الـ API وماذا يعود
تتضمن الاستجابة الناجحة n مُعادًا، وstern يساوي s لـ n، وformula يساوي قواعد الزوجي والفردي المدمجة، وrecurrence يوثّق البذور مع s لاثنين k يساوي s لـ k وs لاثنين k زائد واحد يساوي s لـ k زائد s لـ k زائد واحد. استخدموها من خطوط واجبات، ومدققي مسابقات برمجة، وصناديق رمل إعداد للمقابلات، ومهام إثراء دفاتر، أو أي سير عمل يحتاج حد شتيرن قابلًا لإعادة الإنتاج دون تثبيت حزم متتاليات متخصصة على كل آلة. لفهارس متعددة الدقة فوق ذلك الحد استخدموا مكدس أعداد كبيرة مخصصًا بدل قدرة parse الخفيفة هذه. أرسلوا جسم JSON بحقل مطلوب واحد n: عدد صحيح غير سالب لا يزيد عن مليار، فهرس حد شتيرن المطلوب. تُقبل الأسماء البديلة index وorder بنفس المعنى. فشل التحقق — غياب n، غير صحيح، كسر، قيمة فوق الحد المنشور مليار، أو أي عدد سالب — يعيد invalid_input ولا يُحصَّل أبدًا. التسعير $0.002 ثابت لكل طلب ناجح ببند وحدة وسعر هامشي صفري. أبقوا n ضمن السقف المنشور؛ المشي الزوجي/الفردي لوغاريتمي في n فيبقى طلب واحد رخيصًا على Worker وفي المتصفح.
نصائح عملية وحدود وبحوث ذات صلة
فضّلوا أمثلة صف مقترنة: n يساوي صفرًا يعطي صفرًا؛ n يساوي واحدًا يعطي واحدًا؛ n يساوي عشرة يعطي ثلاثة؛ n يساوي خمسة عشر يعطي أربعة؛ وn سالب يوضح مسار الرفض الصارم بـ invalid_input. ولأن الحدود المتتالية دائمًا أولية نسبيًا يمكن للطلاب فحص قاسم s لـ n وs لـ n زائد واحد يدويًا لـ n صغير ومطابقة API. المهام الفاشلة التي تعيد invalid_input لا تستهلك الرصيد المدفوع مسبقًا، فيبقى الاستكشاف رخيصًا عندما يكتب المستخدمون قيمًا خاطئة أثناء تعلم العقد.
حالات التكامل
واجبات: حساب الحد النوني الثنائي الذري لشتيرن
أعطوا الطلاب فهرسًا وقارنوا قيمة شتيرن المحسوبة يدويًا بنتيجة حتمية من API أو المتصفح المجاني بنفس التكرار الزوجي/الفردي والبذور.
أسئلة تقنية
ما المدخلات المرفوضة؟
غياب n وغير الصحيحة والقيم فوق 1_000_000_000 وأي عدد سالب تعيد invalid_input. تلك الإخفاقات لا تُحصَّل.
هل حاسبة متتالية Stern–Brocot مجانية؟
أداة المتصفح مجانية وتعمل محليًا. استدعاءات API تستخدم رصيد KIT مدفوعًا مسبقًا بسعر $0.002 لكل طلب ناجح؛ الإخفاقات لا تُحصَّل أبدًا.