حاسبة القاسم المشترك الأكبر والمضاعف المشترك الأصغر
أدخل 12 و18 لتحصل على قاسم مشترك أكبر يساوي 6 ومضاعف مشترك أصغر يساوي 36، أو أدخل حتى 20 عددًا دفعة واحدة. مفيد لتبسيط الكسور وإيجاد المقامات المشتركة ومواءمة الدورات المتكررة. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- الأرقام
- 12, 18
- القاسم المشترك الأكبر
- 6
- المضاعف المشترك الأصغر
- 36
تحسب القاسم المشترك الأكبر والمضاعف المشترك الأصغر لمصفوفة من عددين إلى 20 عددًا صحيحًا، وتُعيد المدخلات المسوّاة إلى جانب gcd وlcm.
كيف يُحسب gcd وlcm
فالقاسم المشترك الأكبر لقيمتين يأتي من الخوارزمية الإقليدية — باستبدال (a, b) بـ (b, a mod b) تكرارًا حتى تصير b صفرًا — وقاسم المصفوفة كلها هو تلك العملية مطبَّقةً من اليسار إلى اليمين عبر كل عنصر. ويُحسب المضاعف المشترك الأصغر لزوج بوصفه abs((a / g) * b) حيث g قاسمهما، بالقسمة قبل الضرب لإبقاء القيمة الوسيطة صغيرة، ويُطوى مضاعف المصفوفة كذلك عبر كل العناصر. وإن كان أي عنصر صفرًا فالمضاعف صفر، وتُرفض مصفوفة كلها أصفار لأن gcd(0,0) غير معرَّف.
وتُعيد الاستجابة numbers (المدخلات المسوّاة) وgcd وlcm، فيعطي المثال [12، 18] قاسمًا قدره 6 ومضاعفًا قدره 36.
التسوية والحدود والأعداد الصحيحة الآمنة
يُقسَر كل عنصر أولًا بـ Math.trunc وMath.abs، فتُطرَح الإشارات والأجزاء الكسرية: يصير 12.9- هو 12 قبل تشغيل أي حساب، والقيم المسوّاة هي ما يظهر في مصفوفة numbers المُعادة. ويجب أن تحمل المصفوفة بين 2 و20 عنصرًا، وأن يكون كل عنصر عددًا منتهيًا، وألّا تتجاوز أي قيمة مطلقة 1e15.
حساب حتميّ يمكنك إعادة استعماله
النتيجتان دالّتان صرفتان في المدخلات المسوّاة، بلا ساعة ولا إعداد لغوي محلي ولا عشوائية، فتُعطي المصفوفة نفسها دائمًا gcd وlcm نفسيهما ويبقى المثال المشحون تثبيتة انحدار مستقرّة. ويدعم القاسم والمضاعف مهامّ يومية: اختزال الكسور إلى أدنى حدودها، وإيجاد مقام مشترك، ومواءمة الجداول المتكرّرة أو أبعاد التبليط، وتبسيط النسب. وتمرير أكثر من عددين مدعوم تمامًا — يعالج الطيّ حتى 20 في استدعاء واحد — فيمكنك اختزال مجموعة كاملة دفعةً واحدة بدل تسلسل طلبات زوجية.
حالات الاستخدام
اختزال الكسور والنسب
اختزِل الكسور أو النسب إلى أدنى حدودها بقسمة البسط والمقام على قاسمهما المشترك الأكبر.
مواءمة الجدولة
أوجِد متى تتوافق الدورات المتكرّرة بأخذ المضاعف المشترك الأصغر لفتراتها عبر ما يصل إلى 20 قيمة.
الأسئلة الشائعة
كم عددًا يمكنني تمريره؟
بين 2 و20 عددًا صحيحًا لكل استدعاء؛ ويُطوى gcd وlcm زوجًا زوجًا عبر المصفوفة كلها.
ماذا يحدث للسالبة والعشرية؟
تُقتطع كل قيمة وتُجعَل مطلقة (Math.trunc ثم Math.abs)، فيصير 12.9- هو 12 قبل أي حساب.
كم عددًا يمكنني إدخاله في المرة الواحدة؟
من 2 إلى 20 عددًا. يُحسب القاسم المشترك الأكبر والمضاعف المشترك الأصغر على القائمة كلها في خطوة واحدة، فتختصر مجموعة كاملة بدل ربط الأزواج يدويًا.
ماذا يحدث إذا كان أحد الأعداد صفرًا؟
يصبح المضاعف المشترك الأصغر صفرًا، لأن الصفر مضاعف لكل عدد. أما القائمة المكونة من أصفار فقط فتُرفض، لأن قاسمها المشترك الأكبر غير معرّف.
كيف أستخدم المضاعف المشترك الأصغر لمعرفة متى تتزامن دورتان؟
أدخل طول كل دورة متكررة، بالأيام مثلًا. فالمضاعف المشترك الأصغر هو أول نقطة تتزامن فيها كل الدورات من جديد، ويصلح ذلك لما يصل إلى 20 دورة معًا.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/gcd-lcm \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"numbers":[12,18]}'const res = await fetch("https://api.kit.forhosting.com/dev/gcd-lcm", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"numbers": [
12,
18
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/gcd-lcm",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"numbers": [
12,
18
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/gcd-lcm", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"numbers":[12,18]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"numbers":[12,18]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/gcd-lcm", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"numbers": [
12,
18
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.gcd_lcm",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_items | 20 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
كيف يُحسب gcd وlcm
يأخذ dev.gcd_lcm مصفوفة numbers ويطويها زوجًا زوجًا.
التسوية والحدود والأعداد الصحيحة الآمنة
ولأن المضاعف المشترك الأصغر ينمو بسرعة، تُفحص النتيجة مقابل Number.MAX_SAFE_INTEGER، ومضاعفٌ محسوب يتجاوز ذلك النطاق يُعيد خطأ invalid_input مُصنَّفًا بدل عدد عائم خاطئ بصمت. وأي مخالفة — ما ليس مصفوفة، أو عناصر أقلّ أو أكثر من اللازم، أو مدخل غير منتهٍ، أو مقدار خارج النطاق، أو مجموعة كلها أصفار — تُطلق invalid_input برسالة تسمّي المشكلة، قبل الطيّ أو أثناءه، فيحصل المستدعون على إخفاق نظيف قابل للالتقاط.
حالات التكامل
نظرية أعداد بالجملة
استدعِ API على مجموعات أعداد صحيحة كثيرة لإلحاق عمودَي gcd وlcm دون مكتبة رياضية محلية.
أسئلة تقنية
هل ثمّة حدود على الحجم؟
لا يجوز أن يتجاوز أي عنصر 1e15 في المقدار، ومضاعفٌ يتجاوز MAX_SAFE_INTEGER يُعيد invalid_input بدل عدد عائم خاطئ.
ماذا لو مرّرت أصفارًا كلها؟
تُرفض: gcd(0,0) غير معرَّف، فمصفوفة كلها أصفار تُعيد خطأ invalid_input مُصنَّفًا.
هل هي حتمية ومجانية؟
نعم. تُعطي المصفوفة نفسها دائمًا النتيجة نفسها؛ وwidget المتصفح مجاني، ولا يفوتر API سوى المهام الناجحة عند $0.002.