رمز ليجاندر (a/p)
رمز ليجاندر (2/7) يساوي 1، فالعدد 2 مربع بترديد 7: حاصل ضرب 3 في 3 هو 9، وباقي قسمته على 7 هو 2. أدخل أي عدد صحيح وعددًا أوليًا فرديًا لتحصل على 1 أو −1 أو 0 مع شرح واضح للنتيجة. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- A
- 2
- القدرة (W)
- 7
- A modulo
- 2
- الرمز
- 1
- التفسير
- a is a quadratic residue modulo p
رمز ليجاندر هو الاختبار الكلاسيكي لنظرية الأعداد للباقيّة التربيعية modulo أولي فردي. بأخذ عدد صحيح a وأولي فردي p، يساوي الرمز (a/p) صفرًا عندما يقسم p العدد a، وواحدًا عندما يكون a مربعًا غير صفري modulo p، وناقص واحد عندما يكون a غير باقٍ تربيعيًا. تعتمد دورات التشفير والخوارزميات المرتبطة بالأولية وبراهين التبادلية التكعيبية والتربيعية ومسائل البرمجة التنافسية على هذا المؤشر ثلاثي القيم. كثير من اللغات تعرض الرفع المعياري لكنها تترك لك اتفاقية الباقيّة وفحص الأولية. تقبل هذه الحاسبة a و p، وتتحقق من أن p أولي فردي، وتطبّق معيار أويلر بشكل حتمي، وتعيد الرمز مع باقي a المختزل وتفسير قصير حتى تستخدم النتيجة دون إعادة اشتقاق القوة المعيارية يدويًا.
ماذا يعني رمز ليجاندر ولماذا يهم
في الحساب المعياري السؤال «هل يوجد عدد صحيح x بحيث يكون مربع x مطابقًا لـ a modulo p؟» أساسي. عندما يكون p أوليًا فرديًا تنهار الإجابة إلى ثلاث حالات نظيفة. إذا كان a قابلًا للقسمة على p يُعرَّف الرمز بأنه صفر.
إذا لم يكن a قابلًا للقسمة على p فإن نصف البواقي غير الصفرية مربعات (بواقي تربيعية) والنصف الآخر غير بواقي؛ رمز ليجاندر يساوي زائد واحد للبواقي وناقص واحد لغير البواقي. تظهر هذه الثلاثية في قانون التبادلية التربيعية، وفي براهين أن معادلات ديوفانتوس معينة بلا حلول، وفي تحليل خوارزمية الجذر التربيعي Tonelli–Shanks، وفي عروض الكتب لأفكار الأولية Miller–Rabin و Solovay–Strassen التي تقارن معيار أويلر بقيمة جاكوبي مدّعاة. رفض المقاييس المركّبة أو الزوجية جزء من العقد: رمز ليجاندر غير معرّف لتلك المقاييس، وامتداد صامت بأسلوب جاكوبي يضلل من طلب ليجاندر تحديدًا.
كيف تقيّم هذه الحاسبة (a/p) بمعيار أويلر
استدعِ القدرة بحقول صحيحة a و p، حيث يجب أن يكون p أوليًا فرديًا بين ثلاثة وتريليون شاملًا، و a عددًا صحيحًا قيمته المطلقة على الأكثر تريليون. تتحقق التنفيذ أولًا من الأنواع والحدود ثم تشغّل اختبار أولية حتميًا بالقسمة التجريبية على p. ينص معيار أويلر على أن a مرفوعًا إلى (p ناقص واحد) مقسومًا على اثنين مطابق modulo p لرمز ليجاندر.
تحسب الحاسبة تلك القوة المعيارية بحساب BigInt دقيق حتى لا تفقد الجداءات الوسيطة الدقة ضمن الحدود المنشورة. إذا كانت القوة واحدًا فالرمز واحد. إذا كانت القوة p ناقص واحد فالرمز ناقص واحد.
الاستخدام العملي والحدود والتسعير والتسليم
استخدم أداة المتصفح عندما تريد فحص باقيّة سريعًا أثناء قراءة مذكرة تشفير أو التحقق من تطابق واجب أو تصحيح روتين جذر تربيعي modulo p. المدخلات المقبولة أعداد صحيحة a بقيمة مطلقة على الأكثر تريليون وأوليّات فردية p من ثلاثة إلى تريليون. اربط الطرف بعروض التبادلية التربيعية ومساعدات البرمجة التنافسية وصناديق رمل تعليم التشفير أو أي خط أنابيب صحيح يفضّل الحساب الدقيق على الاستدلالات التقريبية.
إن احتجت رمز جاكوبي لمقاييس فردية مركّبة أو جذرًا تربيعيًا معياريًا صريحًا عندما يكون الرمز واحدًا، فاستخدم قدرة أو خوارزمية مخصّصة؛ تتوقف هذه الأداة عمدًا عند ثلاثية ليجاندر.
حالات الاستخدام
مختبرات تعليم التشفير ونظرية الأعداد
يمكن للمدرّسين والطلاب فحص الباقيّة التربيعية modulo أوليّات فردية عند الطلب ورؤية خطأ صريح عندما يكون مقياس العينة مركّبًا أو زوجيًا.
البرمجة التنافسية وفحوصات التبادلية
يمكن للمبرمجين التنافسيين التحقق من قيم ليجاندر أثناء حل مسائل التبادلية أو التأكد من أن خطوة جذر تربيعي modulo p مبرّرة.
الأسئلة الشائعة
ماذا يحدث إن لم يكن p أوليًا فرديًا؟
تصرّح الرسالة بأن p يجب أن يكون أوليًا فرديًا (مثلًا عندما يكون p زوجيًا أو مركّبًا). التحقق الفاشل لا يُحاسب.
أي خوارزمية تحسب الرمز؟
معيار أويلر: (a/p) ≡ a^((p−1)/2) (mod p). تُقيَّم القوة المعيارية بحساب صحيح دقيق بعد اختزال a modulo p والتحقق من أن p أولي فردي.
ما نطاقات a و p المقبولة؟
يجب أن يكون p أوليًا فرديًا من 3 إلى 1,000,000,000,000. يجب أن يكون a عددًا صحيحًا قيمته المطلقة على الأكثر نفس الحد. القيم خارج تلك الحدود أو p مركّب/زوجي تُرفض.
هل 2 باقٍ تربيعي بترديد 7؟
نعم. رمز ليجاندر (2/7) يساوي 1، أي أن هناك مربعًا يترك الباقي 2 عند قسمته على 7. فمثلًا مربع 3 هو 9، وقسمة 9 على 7 تترك الباقي 2.
متى يساوي رمز ليجاندر صفرًا؟
فقط عندما يقسم p العدد a، أي عندما يكون a مضاعفًا للعدد الأولي p. وفي غير ذلك تكون النتيجة 1 إذا كان a مربعًا بترديد p، و−1 إن لم يكن كذلك.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/numth/legendre-symbol \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":2,"p":7}'const res = await fetch("https://api.kit.forhosting.com/numth/legendre-symbol", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 2,
"p": 7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/legendre-symbol",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 2,
"p": 7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/legendre-symbol", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":2,"p":7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":2,"p":7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/legendre-symbol", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"a": 2,
"p": 7
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.legendre_symbol",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_abs | 1000000000000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
ماذا يعني رمز ليجاندر ولماذا يهم
إعادة كائن منظم مع symbol و a_mod و interpretation يوفّر على المستدعين تعيين قوة معيارية خام إلى المجموعة التقليدية {−1, 0, 1} ونسيان أن p يساوي اثنين مستبعد من التعريف الكلاسيكي.
كيف تقيّم هذه الحاسبة (a/p) بمعيار أويلر
القيم الزوجية والمركّبة و p المساوي لاثنين تفشل جميعًا بـ invalid_input ورسالة تسمّي p؛ لا يُحاسب شيء. عند قبول p يُختزل a إلى a_mod في المدى من صفر إلى p ناقص واحد. إذا كان a_mod صفرًا فالرمز صفر. أي قوة أخرى تشير إلى مقياس غير أولي وتُعامل كـ invalid_input للأمان. تشمل الاستجابة a و p و a_mod و symbol و residue (true أو false أو null عندما يكون الرمز صفرًا) و interpretation.
الاستخدام العملي والحدود والتسعير والتسليم
استخدم API عندما يحتاج سكربت أو مصحح أو منصة تعليمية إلى تقييمات ليجاندر كثيرة دون تضمين معيار أويلر وبوابة أولية. كل طلب ناجح بند قابل للفوترة بـ $0.002؛ إخفاقات التحقق والمقاييس غير الأولية لا تستهلك الرصيد. النتائج حتمية: نفس الزوج ينتج دائمًا نفس الرمز ونفس a_mod ونفس سلسلة التفسير. لأن الوحدة بند واحد والمحرك parse نقي تبقى الكمون منخفضة والقناة المجانية تعكس API المدفوعة دون مسار كود ثانٍ قد ينحرف.
حالات التكامل
مصحّحات الواجبات والخطوط الرمزية
يمكن للمصحّحات الآلية والسكربتات تأكيد (a/p) ∈ {−1,0,1} وكشف p غير الأولي عبر invalid_input والإبقاء على كل جداء وسيط ضمن الحدود الموثّقة.
أسئلة تقنية
كيف أحسب رمز ليجاندر بهذه API؟
أرسل JSON بحقول صحيحة a و p (p أولي فردي) إلى numth.legendre_symbol. عند النجاح تعيد الاستجابة symbol في {−1, 0, 1} مع a_mod و residue و interpretation.
هل حاسبة رمز ليجاندر مجانية؟
تعمل أداة المتصفح مجانًا على جهازك. تستخدم استدعاءات API رصيد KIT المدفوع مسبقًا بمبلغ $0.002 لكل بند ناجح؛ المدخلات غير الصالحة والمقاييس غير الأولية لا تُحاسب.