ForHosting KIT · الرياضيات

جذر تربيعي مقاسي بـ Cipolla

تعطيك خوارزمية سيبولا الجذر التربيعي نفسه بمقياس عدد أولي فردي، لا مجرد نعم أو لا: فجذرا 2 بمقياس 7 هما 3 و4، لأن مربع 3 يساوي 9، وباقيه عند القسمة على 7 هو 2. مجاني في متصفحك.

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا
إذا أدخلت
A
2
القدرة (W)
7
تحصل على
A بالتقابل
2
الجذور
3, 4
الجذر
3
أوميغا
0

خوارزمية Cipolla طريقة كلاسيكية في نظرية الأعداد لاستخراج الجذور التربيعية مقاس عدد أولي فردي. بإعطاء عدد صحيح a وعدد أولي فردي p، تُرجع عددًا صحيحًا x بحيث يكون مربع x متوافقًا مع a مقاس p كلما كان a باقيًا تربيعيًا. واجبات التشفير والبرمجة التنافسية ودروس الحساب المقاسي تحتاج غالبًا الجذر الصريح لا اختبار الباقيّة نعم/لا لرمز ليجاندر وحده.

ما الجذر التربيعي المقاسي ومتى تُطبَّق Cipolla

في الحساب المقاسي تطلب التوافقية «مربع x متوافق مع a مقاس p» عددًا صحيحًا x يقع مربعه في نفس صنف الباقي مثل a. عندما يكون p أوليًا فرديًا تكون الإجابة النظرية واضحة: إما أن a يقبل القسمة على p والجذر الوحيد صفر، أو أن نصف الأصناف غير الصفرية تمامًا بواقي تربيعية ولكل باقي جذران r و p ناقص r. يبيّن رمز ليجاندر أي حالة أنتم فيها لكنه لا يبني r.

تسد خوارزمية Cipolla تلك الفجوة بالعمل في توسعة تربيعية مختارة للحقل ذي p عنصرًا. تختارون عددًا مساعدًا omega بحيث يكون مربع omega ناقص a غير باقي تربيعي مقاس p؛ ثم العنصر omega زائد جذر تربيعي شكلي لذلك غير الباقي، مرفوعًا إلى القوة (p زائد واحد) مقسومة على اثنين، يعود إلى الحقل الأساسي ويساوي جذرًا تربيعيًا لـ a. يفشل أيضًا عندما يكون p مركبًا أو زوجيًا لأن الخوارزمية الكلاسيكية ومعيار أويلر يفترضان مقاسًا أوليًا فرديًا.

مقارنةً بـ Tonelli–Shanks غالبًا ما تكون Cipolla أقصر تنفيذًا لعروض التدريس والأوليّات متوسطة الحجم ولا تحتاج تحليل p ناقص واحد. تستهدف هذه القدرة الطلاب والمعلمين والسكربتات التي تريد مسار Cipolla شفافًا بجذور مرتّبة مستقرة وعقد أخطاء موثّق.

أين تُثبت جذور Cipolla المقاسية قيمتها

الفصول التي تغطي البواقي التربيعية يمكنها إظهار أن الباقيّة وحدها لا تكفي ثم استدعاء هذا الطرف لعرض الجذور الفعلية لكثير من البواقي دون حساب قوى حقل التوسعة يدويًا. منصات المسابقات ومصحّحات LMS تحتاج أوراكل حتميًا يرفض غير البواقي والمقاسات المركبة بدل مصفوفات فارغة قد يعاملها عميل معطوب كنجاح. ملاحظات التشفير التي تقدّم تشفير رابين أو فك ضغط النقاط فوق حقول أولية غالبًا تريد جولة Cipolla بجانب Tonelli–Shanks؛ وحدة نقية مشتركة تُبقي عروض المتصفح وفحوصات الخادم متطابقة.

أبقوا p ضمن حد الأولي المنشور وثبّتوا مصفوفة الجذور المرتّبة في الاختبارات لتحصلوا على جذور تربيعية مقاسية قابلة لإعادة الإنتاج للتعليم والأتمتة وعمال الحافة دون تضمين مكدس جبر حاسوبي كامل.

فصول وواجبات نظرية الأعداد

يُرسل الطلاب a وأوليًا فرديًا p ويقارنون الجذور المرتّبة المعادة بخطوات Cipolla اليدوية أو جداول الكتاب.

عروض تعليم التشفير والدفاتر

وضّحوا Cipolla بجانب فحوصات ليجاندر في ملاحظات بأسلوب رابين أو المنحنيات الإهليلجية دون استيراد مكتبة جبر ثقيلة.

لماذا يجب أن يكون p أوليًا فرديًا؟

خوارزمية Cipolla ومعيار أويلر معرّفان للأوليّات الفردية. تُرفض المقاسات الزوجية أو المركبة حتى لا تدّعي الاستجابة أن حقلًا غير أولي يتصرف كـ F_p.

بماذا تختلف عن حاسبة رمز ليجاندر؟

ليجاندر يبلّغ فقط عن الباقيّة (−1 أو 0 أو 1). هذه القدرة تبني الجذور التربيعية الصريحة عند وجودها عبر رفع القوة في حقل توسعة Cipolla.

كيف أجد الجذر التربيعي للعدد 2 بمقياس 7؟

أدخل 2 عددًا و7 عددًا أوليًا، فتحصل على الجذرين 3 و4. فمربع 3 هو 9 وباقيه عند القسمة على 7 هو 2، والعدد 4 هو 7 ناقص 3.

ماذا يحدث إذا لم يكن a باقيًا تربيعيًا بمقياس p؟

لا يُعاد أي جذر، بل تُبلَّغ بأن العدد لا جذر تربيعي له بمقياس ذلك العدد الأولي بدل اختراع جذر وهمي. فنصف الأصناف غير الصفرية بالضبط بواقٍ تربيعية.

ما الفرق بين خوارزمية سيبولا وخوارزمية تونيلي-شانكس؟

كلتاهما تعطي الجذرين نفسيهما، لكن سيبولا أقصر غالبًا في الشرح ولا تحتاج إلى تحليل p ناقص واحد إلى عوامل، إذ تعمل في توسيع للحقل ذي p عنصرًا.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/numth/cipolla-algorithm

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/numth/cipolla-algorithm \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"a":2,"p":7}'
{
  "a": 2,
  "p": 7
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.cipolla_algorithm",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

تتحقق هذه القدرة من أن p أولي فردي، وترفض غير البواقي بخطأ invalid_input واضح، وتشغّل بناء Cipolla حتميًا بالكامل (دون سحب عشوائي لـ omega)، وتُرجع الجذرين عند وجودهما. الدالة النقية نفسها تغذي ودجت المتصفح المجاني ومسار API المدفوع، فلا تختلف فحوصات الواجبات والأتمتة على الزوج {r, p−r}.

ما الجذر التربيعي المقاسي ومتى تُطبَّق Cipolla

يفشل البناء تحديدًا عندما يكون a غير باقي، وهذا ما يبلّغ عنه هذا الطرف كـ invalid_input بدل اختراع جذر زائف.

عقد الإدخال وخطوات الخوارزمية وشكل الاستجابة

يجب ألا يتجاوز |a| تريليونًا. ثم تضرب في حلقة العناصر x زائد y في جذر w، رافعة omega زائد جذر w إلى القوة (p زائد واحد) على اثنين بضرب مقاسي دقيق BigInt. مثال: a يساوي اثنين و p يساوي سبعة يعطي الجذرين ثلاثة وأربعة لأن مربع ثلاثة تسعة أي اثنان مقاس سبعة. أرسلوا جسم JSON بحقلين صحيحين إلزاميين: a الرقم الذي تريدون جذره التربيعي مقاس p، و p أولي فردي بين ثلاثة وتريليون شاملين. قد يصل كل حقل كرقم JSON أو سلسلة أرقام بعلامة اختيارية. الحقول الناقصة وغير الصحيحة وخارج المدى و p الزوجي و p المركب تفشل بـ invalid_input ولا تُحاسب. عند قبول p يخفّض المعالج a إلى a_mod من صفر إلى p ناقص واحد. إن كان a_mod صفرًا فالاستجابة الجذر التافه صفر مع method trivial_zero و omega null. وإلا يُحسب رمز ليجاندر لـ a_mod مقاس p بمعيار أويلر؛ القيمة ناقص واحد تعني أن a غير باقي تربيعي وتفشل المهمة برسالة تسمّي صنف الباقي. عندما يكون الرمز زائد واحد تمسح الخوارزمية أصغر omega غير سالب بحيث يكون ليجاندر لمربع omega ناقص a_mod ناقص واحد — هذا المسح حتمي فنفس الزوج يستخدم دائمًا الشاهد نفسه. مكوّن الحقل جذر تربيعي؛ تُرجع API الجذرين المرتّبين والجذر الأساسي الأصغر المفضّل والشاهد omega و method يساوي cipolla و verified true بعد فحص مربع داخلي.

أين تُثبت جذور Cipolla المقاسية قيمتها

دفاتر البحث التي تحسب رموز ليجاندر أو جاكوبي مسبقًا يمكنها طلب الجذر فقط عندما يكون الرمز واحدًا، دافعة $0.002 لكل عنصر ناجح ولا شيء عند فشل التحقق.

البرمجة التنافسية وتصحيح LMS

يتحقق المصحّحون من إجابات الجذر التربيعي المقاسي، ويرفضون غير البواقي والمقاسات المركبة بـ invalid_input، ويحافظون على omega حتميًا بين التشغيلات.

كيف أحسب جذرًا تربيعيًا مقاسيًا بخوارزمية Cipolla؟

أرسلوا الصحيحين a وأوليًا فرديًا p. عند النجاح تُرجع API الجذرين r و p−r (أو 0 عندما a≡0 mod p) بحيث r² ≡ a (mod p)، مع شاهد omega الحتمي المستخدم في حقل التوسعة.

ماذا لو لم يكن a باقيًا تربيعيًا مقاس p؟

تفشل المهمة بـ invalid_input ورسالة بأن a غير باقي تربيعي. لا يُخترع جذر ولا تُحاسب المكالمة.

كم تكلفة أداة الجذر التربيعي المقاسي لـ Cipolla؟

أداة المتصفح مجانية. طلبات API تستخدم رصيد KIT المدفوع مسبقًا بمبلغ $0.002 لكل مكالمة ناجحة؛ الإدخال غير الصالح لا يُحاسب.

اطّلع على توثيق KIT الكامل ←