حاسبة الكسور المصرية
تأخذ حاسبة الكسور المصرية بسطًا ومقامًا وتعيد كتابة الكسر كما فعل كتبة مصر القديمة: مجموعًا من كسور وحدانية متمايزة مثل 1/2 + 1/4.
شغّل الأداة مجانًا
تستخدم خوارزمية فيبوناتشي-سيلفستر الشرهة، التي تنتهي دائمًا وتضمن مقامات مختلفة. أرسل عددين صحيحين موجبين وستتلقى التفكيك وعدد الحدود والجزء الصحيح عندما يكون الكسر أكبر من واحد. تعمل الشيفرة نفسها مجانًا في متصفحك على هذه الصفحة، وتكلّف $0.002 لكل طلب عندما تستدعي واجهة API.
ما الكسر المصري ولماذا ما زال مهمًا
تجنبت رياضيات مصر القديمة الكسور العامة تجنبًا شبه كامل. فبدلًا من كتابة 3/4، كان الكاتب يسجل 1/2 + 1/4: مجموعًا من كسور وحدانية بسطها واحد ومقاماتها متمايزة. وتفتتح بردية ريند بجدول طويل يفعل هذا بالضبط للكسور من صورة 2/n، لأن جداول التفكيك إلى كسور وحدانية كانت أداة الحساب اليومية في ذلك العصر. واليوم تتجاوز هذه الفكرة كونها مجرد طرافة تاريخية؛ إذ تظهر التفكيكات إلى كسور وحدانية في نظرية الأعداد، وفي مسائل التقسيم العادل، وفي تعليم تكافؤ الكسور، وفي الرياضيات الترفيهية. تعيد حاسبة الكسور المصرية إنتاج هذا التفكيك فورًا لأي عدد نسبي موجب تقدمه. تزوّدها ببسط ومقام، وكلاهما عدد صحيح موجب، فيعيد الخدمة قائمة المقامات المتمايزة، والتفكيك مكتوبًا على صورة مجموع، وعدد الحدود، وجزءًا صحيحًا منفصلًا عندما يكون الكسر أكبر من واحد. ويُختزل الكسر أولًا إلى أبسط صورة ليكون التفكيك قياسيًا: فـ 2/4 و 3/6 يفكَّكان كلاهما إلى 1/2، مما يحافظ على النتائج مستقرة وقابلة للمقارنة أيًّا كانت طريقة كتابة المدخل.
كيف تبني الخوارزمية الشرهة التفكيك
يستخدم المحرك الطريقة الشرهة التي تُنسب غالبًا إلى فيبوناتشي ودرسها سيلفستر. في كل خطوة يأخذ أكبر كسر وحداني لا يتجاوز ما تبقى: فإذا كان الباقي n/d كان الحد التالي 1/ceil(d/n). وبطرح ذلك الحد يتبقى n*ceil(d/n) − d على d*ceil(d/n)، والبسط الجديد أصغر قطعًا من سابقه، لذلك تنتهي العملية دائمًا في n خطوات على الأكثر. ومن اللطائف أن كل مقام مختار أكبر من سابقه، فالتمايز مضمون بالبناء لا بالتحقق اللاحق. تعمل الأداة بأعداد صحيحة ذات دقة عشوائية، فتُعالج القيم حتى تريليون بدقة تامة، دون أي تقريب عشري في الحساب. وهناك سقف معلن لعدد الحدود، والمدخلات التي قد تتجاوزه تُرفض برسالة خطأ واضحة بدلًا من أن تعمل بلا حد. ولأن التفكيك حتمي، فإن المدخل نفسه يعيد دائمًا مخرجًا مطابقًا بايتًا بايتًا، مما يجعل الخدمة آمنة للتخزين المؤقت وللدمج في خطوط معالجة تقارن النتائج.
قراءة المخرجات ومعالجة الحالات الحدّية
تمنحك الاستجابة التفكيك المختزل مع المدخلات الأصلية، ليتمكن العميل من تسجيل ما فُكك بالضبط. يحتوي الحقل unit_fractions على المقامات بترتيب تصاعدي، ويعرضها expansion على صورة مجموع مقروء مثل 1/2 + 1/11 + 1/111 + 1/1221، وcount هو ببساطة عدد الحدود. وعندما يكون الكسر أكبر من واحد، يُعاد الجزء الصحيح منفصلًا في whole وتفكك الكسور الوحدانية الباقي الكسري فقط، لأن الترميز المصري الكلاسيكي كان يبقي الأعداد الصحيحة خارج المجموع. والتحقق صارم عن قصد: يُرفض المقام صفر، وتُرفض القيم غير الصحيحة مثل 2.5 أو 1/2 مكتوبة نصًا، وتُرفض المدخلات السالبة، ولكل منها رسالة تسمي الحقل المسؤول. يكلّف استدعاء API مبلغ $0.002 لكل طلب، وتعمل الخوارزمية نفسها مجانًا في أداة المتصفح على هذه الصفحة، فيمكنك الاستكشاف تفاعليًا ولا تدفع إلا عند الأتمتة. يُحسب كل شيء عند الطلب، ولا يُحفظ شيء مما ترسله بعد إنتاج الاستجابة.
حالات الاستخدام
تعليم تكافؤ الكسور
أظهر للطلاب أن العدد النسبي الواحد له صور كثيرة بتفكيك 5/6 إلى 1/2 + 1/3 ومقارنته بتمثيلات أخرى.
إعادة إنتاج الرياضيات التاريخية
تحقق من تفكيكات 2/n على أسلوب بردية ريند مقابل أساس شره حتمي دون بناء الجداول يدويًا.
توليد مواد الألغاز وأوراق العمل
أنتج مجاميع الكسور الوحدانية برمجيًا للمسابقات وأوراق العمل ومحتوى الألعاب، بمخرجات مستقرة يمكنك مقارنتها.
الأسئلة الشائعة
كم التكلفة؟
$0.002 لكل طلب عبر API. وتعمل الخوارزمية نفسها مجانًا أيضًا في متصفحك على هذه الصفحة.
ما المدخلات المقبولة؟
عددان صحيحان موجبان: بسط ومقام. تُرفض المقامات الصفرية والسالبة والعشرية والقيم غير العددية برسالة خطأ واضحة.
هل ينتهي التفكيك دائمًا؟
نعم. تقلّل الخوارزمية الشرهة البسط المتبقي تقليلًا قطعيًا في كل خطوة، فتنتهي دائمًا، وكل مقام تخرجه متمايز.
ماذا يحدث مع الكسور الأكبر من واحد؟
يُعاد الجزء الصحيح منفصلًا في الحقل whole وتفكك الكسور الوحدانية الباقي الكسري فقط، وفق الترميز المصري الكلاسيكي.
هل يُبسَّط الكسر أولًا؟
نعم. يُختزل المدخل إلى أبسط صورة قبل التفكيك، فتنتج الكسور المتكافئة التفكيك نفسه دائمًا.
هل يُخزَّن أي شيء؟
لا. يتم الحساب في الذاكرة ويُعاد التفكيك فقط؛ وتُستبعد مدخلاتك.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/math/egyptian-fraction \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"numerator":5,"denominator":6}'const res = await fetch("https://api.kit.forhosting.com/math/egyptian-fraction", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"numerator": 5,
"denominator": 6
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/egyptian-fraction",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"numerator": 5,
"denominator": 6
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/egyptian-fraction", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"numerator":5,"denominator":6}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"numerator":5,"denominator":6}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/egyptian-fraction", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"numerator": 5,
"denominator": 6
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.egyptian_fraction",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_value | 1000000000000 |
max_terms | 1000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |