ForHosting KIT · أدوات المطورين

اختبار أولية بروث باستخدام شاهد

يفحص اختبار أولية بروث عدداً مكتوباً على الصورة k × 2^n + 1 بتطبيق مبرهنة بروث على الشاهد الذي تقدمونه. يتحقق أولاً من أن k موجب وفردي، وأن n موجب، وأن k أصغر من 2^n. ثم يحسب القوة المعيارية المطلوبة حساباً صحيحاً ودقيقاً. إذا تحقق التطابق كان ذلك برهاناً على أن عدد بروث أولي، أما إخفاق الشاهد فيعطي نتيجة غير حاسمة ما لم يكشف عاملاً للعدد.

● Betaمجاني · داخل متصفحك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا

أدخلوا عدد بروث صحيحاً وشاهداً

يأخذ عدد بروث الصورة الدقيقة N = k × 2^n + 1، حيث يكون k عدداً صحيحاً موجباً وفردياً، ويكون n عدداً صحيحاً موجباً، ويكون k أصغر قطعاً من 2^n. ولا يجوز إهمال أي شرط من هذه الشروط. تستقبل الحاسبة k والشاهد كنصين عشريين كي تبقى القيم الكبيرة دقيقة ولا تتعرض لتقريب الفاصلة العائمة. أدخلوا n كعدد صحيح من 1 إلى 10,000. تنشئ الأداة N من المعلمات بدلاً من طلبه منفصلاً، وبذلك تمنع التعارض بين العدد المعلن والمعلمات التي تعرفه. كما تتحقق من وقوع الشاهد بين 1 وN حصراً. إذا كان k زوجياً، أو كانت قيمة ما غير موجبة، أو كان k أكبر من 2^n أو مساوياً له، ترفض الأداة الإدخال لأنه ليس من صيغة بروث، فلا تطبق مبرهنة خارج شروطها. وتعيد العدد والأس والشاهد والباقي كسلاسل عشرية عند الحاجة، مما يتيح لكم مراجعة الحساب ونسخ القيم إلى أداة أخرى تدعم الحساب الصحيح الدقيق دون فقدان.

افهموا ما يثبته التطابق

تنص مبرهنة بروث، لعدد بروث صحيح N، على أن N أولي إذا وجد عدد صحيح a بحيث تكون a^((N−1)/2) مطابقة مع −1 بترديد N. والشاهد الذي تقدمونه هو a. تحسب الأداة القوة المعيارية بالتربيع المتكرر من دون إنشاء القوة العادية الهائلة أولاً. في المخرجات، يمثل `residue` أصغر باق غير سالب، وتكون `passes_test` مساوية إلى true فقط عندما يساوي هذا الباقي N−1، وهو تمثيل −1 بترديد N. عندئذ تكون `prime_proven` مساوية إلى true ويكون الحكم `prime`. وبعد التحقق من شروط بروث، تكون هذه شهادة قطعية وليست تخميناً احتمالياً بأن العدد أولي. تتضمن النتيجة الأس الدقيق (N−1)/2 كي تتمكنوا من إعادة حساب التطابق بصورة مستقلة. لا تستخدم الخوارزمية إلا عمليات على أعداد صحيحة، ولا تختار شاهداً عشوائياً، ولا تستعلم من جدول أو خدمة بعيدة. لذلك يعطي الإدخال نفسه النتيجة نفسها دائماً، وتظهر في الإجابة كل القيم المهمة التي استخدمتها المبرهنة.

تعاملوا مع إخفاق الشاهد بصورة صحيحة

إذا لم ينتج الشاهد −1، فلا يثبت ذلك وحده أن العدد مركب. بل يعني فقط أن هذا الشاهد بعينه لم يحقق الشرط الكافي في مبرهنة بروث. ولهذا تعيد الأداة `inconclusive` بدلاً من `composite` عندما يختلف الباقي ويكون الشاهد أولياً نسبياً مع N. يمكنكم بعد ذلك تجربة شاهد آخر مختار وفق أساس رياضي أو استخدام طريقة قطعية أخرى لاختبار الأولية. وهناك استثناء مفيد: قبل تفسير التطابق، تحسب الأداة القاسم المشترك الأكبر بين الشاهد وN. فإذا كانت القيمة عاملاً حقيقياً، أصبحت النتيجة القطعية `composite` وأعيد العامل أيضاً. يمنع هذا التفريق الخطأ الشائع المتمثل في تحويل مبرهنة ذات اتجاه واحد إلى اختبار ثنائي الاتجاه غير صحيح. كما يفيد في سير العمل الآلي: اقبلوا `prime` بوصفه برهاناً، وارفضوا `composite` عند ظهور عامل، ووجّهوا `inconclusive` إلى اختبار آخر بدلاً من اعتباره بصمت إخفاقاً نهائياً.

التحقق من مرشح ناتج عن بحث

افحصوا زوج k وn مولداً باستخدام شاهد مختار قبل تسجيل المرشح على أنه عدد أولي مثبت.

شرح مبرهنة بروث

اعرضوا الأس الدقيق والباقي المعياري والفرق بين البرهان والشاهد ذي النتيجة غير الحاسمة.

إضافة فحص قطعي إلى سير العمل

تحققوا من شروط بروث ووجّهوا نتائج الأولي والمركب وغير الحاسم من دون حساب الفاصلة العائمة.

ما تكلفة طلب API؟

تبلغ تكلفة كل طلب API مقدار $0.002. ويمكن أيضاً إجراء الحساب مجاناً في المتصفح.

ما الشروط التي تجعل الإدخال عدد بروث؟

يجب أن يساوي k × 2^n + 1، وأن يكون k موجباً وفردياً، وn موجباً، وأن يتحقق k < 2^n.

هل يثبت إخفاق الشاهد أن العدد مركب؟

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

لماذا يدخل k والشاهد كسلسلتين نصيتين؟

تحفظ السلاسل العشرية الأعداد الصحيحة التي تتجاوز المجال العددي الآمن في JavaScript من دون تقريب.

هل النتيجة الإيجابية احتمالية؟

لا. بعد التحقق من شروط بروث، يمثل التطابق المطلوب برهاناً على الأولية.

هل تختار الأداة الشواهد تلقائياً؟

لا. تقدمون الشاهد، وتفحص القدرة تلك القيمة الدقيقة فحصاً قطعياً.

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

POSThttps://api.kit.forhosting.com/numth/proth-test

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

curl -X POST https://api.kit.forhosting.com/numth/proth-test \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"k":"3","n":3,"witness":"3"}'
{
  "k": "3",
  "n": 3,
  "witness": "3"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.proth_test",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

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

لكل طلب$0.002

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

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

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