مدقق الأعداد الأولية
يتحقق مما إذا كان العدد الصحيح أوليًا، وإن لم يكن يعرض أصغر قاسم يثبت ذلك: العدد 97 يظهر أوليًا دون أي قاسم. تظهر العوامل الصغيرة فورًا، وتُؤكَّد الأعداد الأولية الكبيرة باختبار ثابت ودقيق. مجانًا في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
يقرر مدقق الأعداد الأولية ما إذا كان العدد الصحيح n أوليًا، وحين لا يكون كذلك يعيد أصغر قاسم يثبت أن العدد مركب. يجمع بين القسمة التجريبية الكلاسيكية واختبار Miller–Rabin الحتمي، فتظهر القواسم الصغيرة فورًا وتُؤكَّد الأعداد الأولية الكبيرة دون بحث شامل في كل مرشح حتى الجذر التربيعي. ترسل عددًا صحيحًا واحدًا أكبر من اثنين أو يساويهما فتتلقى راية أولية واضحة، وقيمة n الأصلية، وإما null أو أصغر قاسم — حساب حتمي بلا شهود عشوائيين وبلا استعلام شبكي.
ما الذي يعيده المدقق ومتى يرفض الإدخال
يجيب كل استدعاء ناجح عن ثلاثة أسئلة مترابطة دفعة واحدة: هل n أولي، وما القيمة التي اختُبرت، وإن كان العدد مركبًا فما أصغر قاسم موجب أكبر من واحد. وتلك القابلية للتنبؤ مهمة حين تربط المدقق بنموذج، أو أداة سطر أوامر، أو خط أنابيب دفعي يجب أن يتوقف عند البيانات الرديئة بدلًا من اختلاق جواب. استعمل هذه النقطة الطرفية كلما احتجت إلى نعم أو لا قابلة للتدقيق حول الأولية إضافة إلى عامل تفسيري، لا تخمينًا احتماليًا ولا تحليلًا طويلًا لكل قاسم.
كيف تعمل القسمة التجريبية وMiller–Rabin معًا
القسمة التجريبية أقدم تقنيات الأولية: اختبر هل تقسم المرشحات المتتالية العدد n، بدءًا باثنين وثلاثة واستمرارًا على عجلة من ست خطوات لا تفحص إلا الأعداد على صورة 6k±1. وبمجرد ظهور قاسم، يكون العدد مركبًا ويكون ذلك القاسم هو الأصغر — وهو بالضبط ما تحتاجه أدوات التدريس ومسائل البرمجة وفحوص جودة البيانات. وحين يكون n متواضعًا، يكفي إتمام التجربة حتى الجذر التربيعي الصحيح لإثبات الأولية أيضًا، لأن لكل عدد مركب عاملًا لا يتجاوز جذره التربيعي.
أما للأعداد الأكبر فيستكشف المدقق أولًا القواسم الصغيرة بحلقة التجربة نفسها، ثم يشغل مجموعة Miller–Rabin حتمية بأسس ثابتة معروف أنها تقرر الأولية بصحة لكل عدد صحيح في مجال JavaScript الآمن. فإن أفاد Miller–Rabin بالأولية بعد ألا يوجد عامل صغير، كانت النتيجة أوليًا.
أين تستعمل مدقق الأعداد الأولية في مسارات العمل الحقيقية
يستعمل المعلمون والطلاب مدقق أعداد أولية موثوقًا للتحقق من الواجبات، وتوليد أمثلة مضادة، وبيان سبب فشل عدد بعرض أصغر قاسم له بدلًا من false مجردة. ويستدعيه مطورو التطبيقات حين يجب أن يكون مفتاح منتج أو بذرة لغز أو معامل تعمية تجريبي على شكل أولي قبل المضي، فيلتقطون الأخطاء المطبعية كالقيم الزوجية أو المضاعفات الواضحة دون إقامة نظام جبر حاسوبي كامل. ويحرس مهندسو البيانات الأعمدة الرقمية في عمليات الاستيراد: فأي «معرّف أولي» مزعوم يفشل هنا يُرفض مبكرًا مع عامل محدد لسجل التدقيق.
آثِر هذه الأداة حين يكون السؤال حصرًا «هل n أولي، وإن لم يكن فما أصغر قاسم؟» — لا حين تحتاج إلى تحليل كامل، أو شهادات أولية لأعداد ضخمة من آلاف البتات، أو اختبارات احتمالية بقوائم شهود مخصصة.
حالات الاستخدام
الواجبات وعروض التدريس
أظهر للطلاب هل العدد أولي، واعرض فورًا أصغر قاسم حين يكون مركبًا، فيصبح نمط الفشل ملموسًا لا مجردًا.
التحقق من قيم الإعداد على شكل أولي
ارفض المعاملات الزوجية أو المركبة بوضوح في مفاتيح المنتجات، أو بذور الألغاز، أو إعدادات التعمية التجريبية قبل دخولها خط أنابيب أطول.
تدقيق الأعمدة الرقمية المدعية الأولية
امسح عملية استيراد لمعرّفات أولية مزعومة، وأشّر على المركبة، وأرفق أصغر قاسم بمسار التدقيق لكل صف فاشل.
الأسئلة الشائعة
كم التكلفة؟
ويعمل الفحص نفسه مجانًا كذلك في متصفحك على هذه الصفحة.
أي الأعداد تُقبل؟
الأعداد الصحيحة الأكبر من 2 أو المساوية له، حتى الحد الأقصى للعدد الصحيح الآمن المنشور.
هل اختبار Miller–Rabin احتمالي هنا؟
لا. الأسس ثابتة وحتمية لكل عدد صحيح في المجال المدعوم، فالعدد n نفسه يعطي دومًا النتيجة نفسها.
هل يحلل هذا العدد n تحليلًا كاملًا؟
لا. إنه يفيد فقط بما إذا كان n أوليًا، وعند التركيب بأصغر قاسم وحيد — لا بالقائمة الكاملة للعوامل الأولية.
لماذا يظهر قاسم عندما لا يكون العدد أوليًا؟
لأن أصغر قاسم أكبر من 1 هو الدليل على أن العدد مركب. فأي عدد زوجي أكبر من 2 مثلًا يعيد القاسم 2، فترى بالضبط سبب الإخفاق بدلًا من مجرد إجابة بلا.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/numth/prime-checker \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":97}'const res = await fetch("https://api.kit.forhosting.com/numth/prime-checker", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 97
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/prime-checker",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 97
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/prime-checker", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":97}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":97}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/prime-checker", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"n": 97
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.prime_checker",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
ما الذي يعيده المدقق ومتى يرفض الإدخال
الاستجابة كائن JSON صغير يحوي راية prime المنطقية، والعدد الصحيح n مرتدًا كرقم، وحقل smallest_divisor (null للأعداد الأولية، وعدد صحيح محدد للأعداد المركبة)، ولافتة method تسجل ما إذا جاء القرار أساسًا من القسمة التجريبية أم من Miller–Rabin. أما الإدخال الناقص أو الكسري أو غير الرقمي أو الأصغر من اثنين تمامًا فيُرفض بـ invalid_input قبل تشغيل أي حساب، فلا تنتج قيمة عشرية مثل 9.5 أو صفر ادعاء أولية مضللًا أبدًا. وتنطبق القواعد نفسها في مسار المتصفح المجاني وعلى الـ API: عقد واحد، ومجموعة واحدة من رسائل الأخطاء، والنتيجة المنظمة نفسها.
كيف تعمل القسمة التجريبية وMiller–Rabin معًا
وإن أفاد بأنه مركب، تستمر القسمة التجريبية من الحد السابق حتى يُستعاد أصغر عامل، فلا يقول الـ API «مركب» قط دون تسمية أصغر قاسم أيضًا.
أين تستعمل مدقق الأعداد الأولية في مسارات العمل الحقيقية
ولأن القدرة من الفئة tier A، يمكنك لصق عدد في هذه الصفحة وتشغيل المنطق نفسه مجانًا في المتصفح؛ ثم تؤتمت العقد نفسه لاحقًا بـ $0.002 لكل طلب حين تربط مهام على نمط POST بالنصوص البرمجية أو الـ SDK. أبقِ n عددًا صحيحًا لا يقل عن اثنين ضمن المجال الآمن المنشور، وعامل invalid_input كإصلاح من العميل لا كإعادة محاولة، واحفظ حقل method المرتد إن احتجت إلى شرح أي مسار خوارزمية قرر الحالة.
أسئلة تقنية
ماذا يُعاد للعدد المركب؟
تكون prime قيمتها false ويكون smallest_divisor أصغر عدد صحيح أكبر من 1 يقسم n. أما للأعداد الأولية فتكون smallest_divisor قيمتها null.