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