فاحص الباقي التربيعي
يخبرك ما إذا كان للعدد جذر تربيعي بمقياس m ويعرض كل الجذور: العدد 2 مربع بمقياس 7، لأن مربع 3 هو 9 الذي يترك الباقي 2، والجذران هما 3 و4. مجانًا في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- A
- 2
- المعامل m
- 7
- A مقياس
- 2
- الجذور
- 3, 4
- عدد الجذور
- 2
يكون العدد الصحيح a باقيًا تربيعيًا مقياس m عندما يوجد عدد صحيح x يحقق أن مربع x مطابق لـ a مقياس m — أي أن لـ a جذرًا تربيعيًا معياريًا. يظهر سؤال نعم أو لا هذا في واجبات التشفير ونظرية أعداد المسابقات وأي سير عمل يحتاج معرفة ما إذا كانت مطابقة مربعًا كاملًا قبل بذل جهد على حلّال أكبر. تأخذ هذه القدرة a ومعاملًا m (اثنين على الأقل)، وتختزل a إلى المدى المعياري من صفر إلى m ناقص واحد، وتمسح كل جذر في ذلك المدى، ويمكنها اختياريًا إرجاع القائمة الكاملة لفئات الباقي التربيعي مقياس m.
ماذا تعني الباقية التربيعية للمعاملات العامة
في نظرية الأعداد الابتدائية يعني الباقي التربيعي مقياس عدد أولي p عادة عددًا صحيحًا a غير قابل للقسمة على p تكون للمطابقة مربع x يساوي a مقياس p حل؛ غالبًا يُناقش الصفر على حدة كمربع تافه. لمعامل مركّب m يمتد التعريف نفسه بوضوح: a باقٍ تربيعي مقياس m عندما يوجد عدد صحيح x واحد على الأقل بمربع x مطابق لـ a مقياس m، بما في ذلك حالة a مطابقًا للصفر.
تأتي الحلول بأنماط تعتمد على تحليل m إلى قوى أولية؛ مثلًا مقياس عدد أولي توجد صفر أو جذران غير صفريين لكل فئة باقٍ غير صفرية تكون مربعًا، بينما قد تقبل المعاملات المركّبة جذورًا أكثر. أدوات كلاسيكية مثل رمزي Legendre وJacobi تعطي اختبارات سريعة عندما m أولي فردي أو عندما تحتاجون فقط حرفًا ضربيًا، لكنها لا تسرد وحدها كل جذر لـ m اعتباطي. مسح مباشر لـ x من صفر إلى m ناقص واحد يقيّم كل فئة مربع مرة واحدة بالضبط ويجيب لذلك عن الوجود والتعداد لأي معامل ضمن حد حجم ثابت.
أين تظهر فحوصات المربعات المعيارية في العمل الحقيقي
يحتاج مبرمجو المسابقات غالبًا وحيًا سريعًا قبل استدعاء Tonelli–Shanks أو جمع CRT لجذور قوى أولية: إن كان بت الباقي خاطئًا فلا جدوى من بناء جذر تربيعي. يتحقق طلاب التشفير من أمثلة لأصفار بأسلوب Rabin وتمارين المعكوس التربيعي ومتغيرات Diffie–Hellman اللعبية التي تذكر رموز الباقي. يسأل المهندسون الذين يوفّقون جداول دورية أو تجارب دلاء تجزئة أحيانًا ما إذا كانت خطوة فئة مربع مقياس فترة مركّبة.
استخدموا ودجت المتصفح لاستكشاف معاملات صغيرة تفاعليًا ثم استدعوا العقد نفسه من السكربتات عند الحاجة لفحوصات جماعية حتى سقف المعامل الموثّق. إن احتجتم فقط نعم أو لا بأسلوب رمز Legendre لأولي كبير يتجاوز حد المسح، حلّلوا أو اختزلوا أولًا؛ ضمن السقف هذه الصفحة هي الإجابة البنائية الكاملة.
حالات الاستخدام
فحوصات الواجبات والمسابقات
قرروا إن كان a مربعًا مقياس m واقرأوا كل جذر في 0..m-1 لتمارين نظرية الأعداد دون بناء حلّال CRT كامل.
مرشح مسبق قبل استخراج الجذور
ارفضوا غير البواقي مبكرًا في خط أنابيب كان سيحاول وإلا خوارزميات الجذر التربيعي المعياري على معاملات مركّبة أو أولية.
الأسئلة الشائعة
ما الباقي التربيعي مقياس m؟
العدد الصحيح a باقٍ تربيعي مقياس m إذا وُجد عدد صحيح x بحيث x² ≡ a (mod m). تبلّغ هذه الأداة بذلك وتسرد كل x من هذا النوع في 0..m-1.
لماذا يجب أن يكون m اثنين على الأقل؟
المعامل 0 غير معرّف للمطابقات على سطح المنتج هذا، والمعامل 1 يطوي كل عدد صحيح إلى فئة واحدة.
ما حجم المعامل المدعوم؟
يجب أن يكون m عددًا صحيحًا من 2 إلى 1,000,000 شاملًا. المرشح a قد يكون أي عدد صحيح آمن؛ يُختزل مقياس m قبل المسح.
هل العدد 3 باقٍ تربيعي بمقياس 7؟
لا. عند تربيع كل باقٍ بمقياس 7 لا يظهر إلا 0 أو 1 أو 2 أو 4، فلا يوجد عدد صحيح مربعه يترك الباقي 3، وتأتي قائمة الجذور فارغة.
هل يمكنني رؤية كل المربعات بمقياس m دفعة واحدة؟
نعم. باختيار عرض القائمة الكاملة تحصل على كل باقٍ يظهر مربعًا، مرتبًا تصاعديًا مع عددها. بمقياس 7 هي 0 و1 و2 و4.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/numth/quadratic-residue \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":2,"m":7}'const res = await fetch("https://api.kit.forhosting.com/numth/quadratic-residue", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 2,
"m": 7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/quadratic-residue",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 2,
"m": 7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/quadratic-residue", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":2,"m":7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":2,"m":7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/quadratic-residue", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"a": 2,
"m": 7
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.quadratic_residue",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
min_m | 2 |
max_m | 1000000 |
max_abs_a | 9007199254740991 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
يشارك ودجت المتصفح وواجهة API دالة صرفة واحدة، فتبقى الفحوصات التفاعلية والدفعات النصية متسقة بلا استدعاءات شبكة ولا انجراف نموذج.
ماذا تعني الباقية التربيعية للمعاملات العامة
ذلك النهج الشامل هو ما ينفّذه هذا الطرف: حساب صحيح حتمي فقط، بلا تقريب عائم، وشكل JSON مستقر يمكنكم إثباته في الاختبارات.
عقد الإدخال والحدود وحقول الاستجابة
أرسلوا العددين الصحيحين a وm. فحوصات صف نموذجية: اثنان باقٍ تربيعي مقياس سبعة لأن مربع ثلاثة تسعة وهو اثنان مقياس سبعة، والجذور ثلاثة وأربعة؛ ثلاثة ليس باقيًا تربيعيًا مقياس سبعة. تفشل غير الصحيحة والحقول الإلزامية الفارغة والمعاملات فوق السقف في التحقق برسالة واضحة تسمّي الحقل. يجب أن يكون المعامل m اثنين على الأقل ومليونًا على الأكثر؛ تُرفض القيم دون اثنين بـ invalid_input ولا تُحصَّل، لأن الحساب المعياري بمعامل صفر أو واحد ليس سطح منتج مدعومًا. قد يكون المرشح a سالبًا أو أكبر من m؛ يُختزل إلى a_mod في الفترة نصف المفتوحة من صفر شامل إلى m غير شامل قبل بحث المربعات. يطلب المنطقي الاختياري list_residues (الأسماء البديلة list_all وall_residues) كل قيمة متميزة لمربع x مقياس m مرتبة تصاعديًا مع residue_count. عند النجاح تتضمن الحمولة دائمًا a وm وa_mod وis_quadratic_residue وroots كقائمة الحلول الكاملة من صفر إلى m ناقص واحد وroot_count. عندما list_residues صحيح لـ m يساوي سبعة تحصلون على الفئات المرتبة صفر وواحد واثنان وأربعة — صورة خريطة التربيع على حلقة الأعداد الصحيحة مقياس سبعة. تغذي الدالة الصرفة نفسها أداة المتصفح المجانية ومسار API المدفوع، فلا يمكن لفحص واجب وتركيب CI أن يتباعدا بصمت.
أين تظهر فحوصات المربعات المعيارية في العمل الحقيقي
يكلّف المدرسون مسائل مثل سرد كل الباقي التربيعي مقياس واحد وعشرين أو تقرير ما إذا كان خمسة مربعًا مقياس ثلاثة عشر ويريدون إجابة JSON حتمية بدل جدول مكتوب يدويًا قد يحوي أخطاء بواحد. لأن القدرة محرك parse صرف لا يوجد انجراف نموذج ولا مفتاح API خارجي ولا حالة مخزّنة: نفس الزوج يعطي دائمًا نفس الجذور ونفس قائمة الباقي الاختيارية. تسعير API هو الأساس المنشور $0.002 لكل عنصر ناجح؛ فشل التحقق لا يستهلك الرصيد.
حالات التكامل
تعداد فئات الباقي
فعّلوا list_residues للحصول على صورة مرتبة لخريطة التربيع مقياس m للجداول وشرائح التدريس أو اختبارات الخصائص.
أسئلة تقنية
هل يُعتبر 0 باقيًا تربيعيًا؟
نعم. 0² ≡ 0 (mod m)، لذا a_mod = 0 باقٍ دائمًا ويتضمن الجذر 0 (وربما غيره لـ m مركّب).
كم التكلفة؟
أداة المتصفح مجانية وتعمل محليًا. طلبات API تستخدم رصيد KIT المدفوع مسبقًا بسعر $0.002 لكل عنصر ناجح؛ الإدخال غير الصالح لا يُحصَّل.