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

الرفع المعياري السريع

احصل على الباقي الدقيق لقوة ضخمة دون تجاوز للسعة: باقي قسمة 2 مرفوعًا إلى 10 على 1000 هو 24، وباقي قسمة 3 مرفوعًا إلى 5 على 13 هو 9. ويمكن أن يصل كل من الأساس والأس والمقياس إلى 2048 رقمًا. مجاني في متصفحك.

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا
إذا أدخلت
الأساس
2
الأس
10
المقياس
1000
تحصل على
النتيجة
24

يجيب الرفع المعياري السريع عن سؤال دقيق واحد: ما هو الباقي غير السالب الدقيق عندما تُرفع قاعدة صحيحة إلى أس صحيح ثم تُختزل modulo m؟ يدعم هذا الباقي عروض الفصل بأسلوب RSA، ومخططات تبادل مفاتيح Diffie–Hellman، ومسائل مسابقات البرمجة، وأي سكربت إنتاجي يحتاج إلى رفع أعداد صحيحة كبيرة دون تجاوز أنواع العرض الثابت أو فقدان الدقة بعد 2^53.

ما الذي يحسبه الرفع المعياري السريع

بإعطاء أعداد صحيحة base وexponent والمعيار m، يعيد الرفع المعياري الباقي الفريد r في المجال المغلق من الصفر إلى m ناقص واحد بحيث تكون القاعدة مرفوعة للأس متطابقة مع r modulo m. بالرموز: r ≡ base^exponent (mod m). النهج الساذج يضرب القاعدة في نفسها exponent مرة ثم يختزل بعد ذلك فقط، فيضخّم القيم الوسيطة بعيدًا عن الفاصلة العائمة أو الأعداد الصحيحة ذات العرض الثابت ويفشل بصمت عند فقدان الدقة.

أما الرفع المعياري السريع فيختزل بعد كل ضرب ويربّع القاعدة الجارية أثناء مسح بتات الأس من الأقل أهمية إلى الأكثر أهمية، فيتدرج العمل الكلي مع طول الأس بالبتات لا مع حجمه العشري. عندما يساوي m واحدًا يكون كل عدد صحيح متطابقًا مع الصفر، فالنتيجة دائمًا صفر. عندما يكون الأس صفرًا تكون النتيجة واحدًا لأي قاعدة ما دام m أكبر من واحد، وفق اصطلاح الجداء الفارغ في نظرية الأعداد ومكتبات البرمجة.

تُختزل القواعد السالبة أولًا إلى نظام البواقي غير السالبة modulo m حتى لا تخلط سلسلة الضرب بواقي ذات إشارة. تُرفض الأسس السالبة لأنها تتطلب معكوسات معيارية قد لا توجد عندما لا تكون base وm أوليين نسبيًا، وخطوة المعكوس تلك خارج نطاق هذه الحاسبة.

الحدود والأداء وأين يستخدمها المطوّرون

ينفّذ الرفع المعياري الثنائي عددًا ثابتًا من الضرب المعياري لكل بت من الأس، لذا فإن مضاعفة الأس تقريبًا تضاعف العمل، بينما يزيد المعيار الأكبر تكلفة كل ضرب مع طول الأرقام. يستخدمها المعلمون للتحقق من حسابات يدوية لـ a^b mod m قبل أن يسلّم الطلاب البراهين. يربطها المطوّرون باختبارات خصائص تؤكد بقاء البروتوكولات داخل أصناف البواقي، وبألعاب أو أنظمة ترتيب تطوي عدّادات كبيرة modulo أولي، وبخطوط سكربت لا يجب أن تعيد تنفيذ التربيع والضرب في كل لغة.

التحقق من إجابات المسابقات والواجبات a^b mod m

يمكن للطلاب والمشرفين فحص القوى المعيارية دون ضرب وسطاء هائلة يدويًا أو الثقة بحاسبة تفقد الدقة بصمت بعد 2^53.

زرع عروض التشفير واختبارات وحدة البروتوكول

السكربتات التي تحتاج خطوة حتمية base^exp mod m لـ RSA تجريبي أو Diffie–Hellman أو تأكيدات صنف الباقي يمكنها استدعاء هذا بدل شحن رفع BigInt خاص بها.

طي عدّادات كبيرة في نطاق بواقي ثابت

الألعاب وأنظمة الترتيب ومساعدات التجزئة التي ترفع عددًا صحيحًا ثم تختزل modulo m تحصل على باقٍ دقيق دون مفاجآت تقريب الفاصلة العائمة.

ما هو الرفع المعياري؟

هو رفع القاعدة إلى أس وأخذ الباقي modulo m، ويُكتب base^exponent mod m. تعيد هذه الحاسبة ذلك الباقي غير السالب كـ result.

لماذا يُرفض الأس السالب؟

الأسس السالبة تعني قوى مقلوبة وتتطلب معكوسات معيارية قد لا توجد عندما لا تكون base وm أوليين نسبيًا.

كيف تعمل حاسبة الرفع المعياري السريع؟

تستخدم التربيع والضرب الثنائي على BigInt: لكل بت من الأس تربّع القاعدة الجارية modulo m وتضرب في النتيجة عندما يكون البت مضبوطًا.

ماذا يحدث إذا كان المقياس 1 أو كان الأس 0؟

مع المقياس 1 يترك كل عدد باقيًا قدره 0، فالنتيجة دائمًا 0. ومع الأس 0 تكون النتيجة 1 لأي أساس ما دام المقياس أكبر من 1، فباقي قسمة 7 مرفوعًا إلى 0 على 5 هو 1.

ما أكبر حجم مسموح للأعداد؟

يمكن أن يصل كل من الأساس والأس والمقياس إلى 2048 رقمًا عشريًا. وهذا يكفي لمسائل المسابقات والواجبات وكثير من الأمثلة بحجم التشفير، مع بقاء الحساب سريع الاستجابة.

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

POSThttps://api.kit.forhosting.com/dev/modular-exponentiation

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

curl -X POST https://api.kit.forhosting.com/dev/modular-exponentiation \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"base":"2","exponent":"10","modulus":"1000"}'
{
  "base": "2",
  "exponent": "10",
  "modulus": "1000"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.modular_exponentiation",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

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

لكل طلب$0.002

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

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

تشغّل حاسبة الرفع المعياري السريع هذه خوارزمية التربيع والضرب الثنائية على BigInt حتى تبقى النواتج الوسيطة مختزلة في كل خطوة، ويكون الجواب حتميًا، ويمكنكم تجربة النواة النقية نفسها مجانًا في المتصفح قبل استدعاء مسار API الذي يحاسب فقط على المهام الناجحة.

ما الذي يحسبه الرفع المعياري السريع

يجب أن يكون المعيار واحدًا على الأقل؛ والمعايير الصفرية أو السالبة لا تعرّف باقيًا غير سالب قياسيًا وتعيد invalid_input بدل اختراع جواب.

كيفية استدعاء API وقراءة النتيجة

أرسلوا جسم JSON بثلاثة حقول إلزامية: base وexponent وmodulus. يمكن لكل منها أن يكون سلسلة عدد صحيح عشري أو رقم JSON؛ وتُفضَّل صيغة السلسلة للقيم الأكبر من نطاق الأعداد الصحيحة الآمنة في JavaScript لأن الأعداد فوق ذلك العتبة لا تمثّل كل عدد صحيح بدقة. تُقبل الأسماء البديلة a لـ base، وexp أو e أو power لـ exponent، وm أو mod لـ modulus حتى تشارك النماذج والعملاء المكتوبون يدويًا عقدًا واحدًا دون إعادة تسمية المفاتيح. عند النجاح تعيد الاستجابة base وexponent وmodulus كسلاسل عشرية مُطبَّعة وتضيف result بوصفه الباقي غير السالب لـ base^exponent mod modulus. فحوصات كلاسيكية يمكنكم تشغيلها فورًا: base 2 وexponent 10 وmodulus 1000 تعطي result 24؛ base 3 وexponent 5 وmodulus 13 تعطي 9؛ base 7 وexponent 0 وmodulus 5 تعطي 1. فشل التحقق—حقول ناقصة، غير أعداد صحيحة، كسور، معيار أقل من واحد، أس سالب، أو قيمة أطول من حد الأرقام المنشور—يعيد invalid_input ولا يُخصم أبدًا من الرصيد المدفوع مسبقًا. التسعير مبلغ ثابت $0.002 لكل طلب ناجح تحت وحدة item.

الحدود والأداء وأين يستخدمها المطوّرون

تقيّد هذه القدرة كلًا من base وexponent وmodulus عند 2048 رقمًا عشريًا—كافٍ لمسائل المسابقات والواجبات والعديد من العروض بمقياس تشفيري—ومع ذلك صغير بما يكفي ليبقى BigInt النقي في Worker تفاعليًا دون مكدس دقة متعددة ثقيل أو حاوية. إن احتجتم إلى معايير بملايين الأرقام أو تفكيكات بنظرية الباقي الصينية أو بدائيات تشفير ثابتة الزمن مقاومة للقنوات الجانبية، فأنتم بحاجة إلى مكتبة تشفير مخصصة؛ أداة parse الخفيفة هذه مقصودة عمدًا لتكون الحاسبة وخطوة API المشتركة للقوى المعيارية الدقيقة في مسارات التطوير. اقرنوها بأدوات التحليل إلى عوامل أو المعكوس المعياري عندما يحتاج المسار إلى مجموعة الأدوات المعيارية الكاملة؛ يجيب هذا endpoint فقط عن سؤال الرفع والاختزال حتى تبقى نية البحث واضحة والاستجابة ضئيلة ومتوقعة.

ماذا يحدث إذا كان المعيار أقل من 1؟

يجب أن يكون المعيار 1 على الأقل. المعايير الصفرية أو السالبة لا تعرّف الباقي غير السالب القياسي المستخدم هنا وتعيد invalid_input.

هل حاسبة الرفع المعياري السريع مجانية؟

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

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