التقسيم مع الباقي هو أحد العمليات الرئيسية في البرمجة. يسمح لك بإيجاد ما تبقى من قسمة رقم على آخر. من المهم بشكل خاص معرفة كيفية العثور على جميع الأرقام التي تعطي رقما محددا في الباقي عند تقسيمها على رقم معين.
في هذه المقالة ، سننظر في كيفية إيجاد جميع الأرقام المكونة من خمسة أرقام والتي تعطي 125 في الباقي عند القسمة على 133. لهذه المهمة ، سوف نستخدم لغة برمجة بايثون.
قد يستغرق فحص جميع الأرقام المكونة من خمسة أرقام والتحقق من الباقي عند القسمة على 133 وقتا طويلا. ومع ذلك ، يمكننا استخدام الخصائص الرياضية للقسمة مع الباقي لتبسيط حل هذه المشكلة.
لنأخذ رقما عشوائيا مكونا من خمسة أرقام ونشير إليه على أنه ن. ثم نحسب ما تبقى من قسمة ن على 133 ونقارنه بـ 125. إذا كان الباقي هو 125 ، فإن الرقم ن يفي بشرط المشكلة.
وبالتالي ، لحل هذه المشكلة ، سنحتاج فقط إلى تكرار أكثر من خمسة أرقام ومقارنة ما تبقى من قسمة على 133 مع 125. بمجرد العثور على رقم يلبي حالة المشكلة ، يمكننا حفظه أو عرضه على الشاشة. وبالتالي ، سنكون قادرين على إيجاد جميع الأرقام المكونة من خمسة أرقام والتي تعطي 125 في الباقي عند قسمة 133.
- خوارزمية لحل المشكلة
- الخطوة 1: توليد أرقام من خمسة أرقام
- الخطوة 2: التحقق من الباقي عند القسمة على 133
- الخطوة 3: إخراج النتائج
- سؤال وجواب
- كيف يمكنني العثور على جميع الأرقام المكونة من خمسة أرقام التي تعطي 125 في ما تبقى عندما مقسوما 133 في بيثون?
- هل من الممكن استخدام لغات البرمجة الأخرى لحل هذه المشكلة?
- ما هو تعقيد الخوارزمية لحل هذه المشكلة?
- إذا كنت ترغب في العثور على جميع الأرقام المكونة من أربعة أرقام إعطاء الباقي 125 عندما مقسوما 133, كيف يمكنني تغيير رمز?
خوارزمية لحل المشكلة
لحل المشكلة ، نجد جميع الأرقام المكونة من خمسة أرقام ونتحقق من الباقي من القسمة على 133.
- أولا ، قمنا بتعيين متغير البداية بالقيمة 10000 ومتغير النهاية بالقيمة 99999 لقصر البحث على أرقام مكونة من خمسة أرقام فقط.
- ثم نقوم بإنشاء قائمة نتائج فارغة ، والتي سنضيف إليها أرقاما تفي بشرط المهمة.
- نحن نستخدم ل حلقة لتكرار من خلال جميع الأرقام في النطاق من البداية إلى النهاية.
- في كل تكرار ، نتحقق من باقي قسمة الرقم على 133 باستخدام عامل التشغيل٪.
- إذا كان الباقي هو 125 ، أضف الرقم إلى قائمة النتائج باستخدام طريقة الإلحاق.
- في النهاية ، نخرج قائمة نتائج تحتوي على جميع الأرقام المكونة من خمسة أرقام والتي تعطي 125 في الباقي عند القسمة على 133.
مثال على كود بايثون:
البداية = 10000
النهاية = 99999
النتيجة = []
للاسطوانات في النطاق (البداية ، النهاية + 1):
إذا الأسطوانات ٪ 133 = = 125:
النتيجة.إلحاق (الأسطوانات)
طباعة (نتيجة)
عند تنفيذ هذه الخوارزمية ، سنجد جميع الأرقام المكونة من خمسة أرقام والتي تم استيفاء شرط المهمة لها. في هذه الحالة ، سيتم عرضها على الشاشة.
الخطوة 1: توليد أرقام من خمسة أرقام
لحل هذه المشكلة ، نحتاج إلى توليد جميع الأعداد المكونة من خمسة أرقام ، والتي عند قسمة 133 ، تعطي 125 في الباقي. للقيام بذلك ، سوف نستخدم حلقة والتحقق من ما تبقى من التقسيم.
للذهاب من خلال جميع الأرقام المكونة من خمسة أرقام:
للاسطوانات في النطاق (10000 ، 100000):
# هنا سوف نتحقق من ما تبقى من التقسيم
تمريرة
(مودولو) المشغل ، الذي يعيد ما تبقى من القسمة:
للاسطوانات في النطاق (10000 ، 100000):
إذا الأسطوانات ٪ 133 = = 125:
# هنا يمكنك تنفيذ الإجراءات اللازمة مع العثور عليها
رقم المرور
في هذه الخطوة ، قمنا بإنشاء جميع الأرقام المكونة من خمسة أرقام وفحصنا كل منها لما تبقى من القسمة 125 عند القسمة على 133. الآن يمكنك المتابعة إلى الخطوة التالية لحل المشكلة.
الخطوة 2: التحقق من الباقي عند القسمة على 133
الآن بعد أن عرفنا نطاق الأعداد المكونة من خمسة أرقام والتي تتكون من أرقام 0-9 ، فإن الخطوة التالية هي التحقق من باقي القسمة على 133. للعثور على جميع الأرقام المكونة من خمسة أرقام والتي تعطي 125 في الباقي عند القسمة على 133 ، سنقوم بالتكرار على نطاق الأرقام والتحقق من الباقي باستخدام عامل التشغيل"٪".
يمكن تمثيل عملية التحقق من الباقي على أنها الكود التالي:
# إنشاء قائمة فارغة لتخزين الأرقام التي تفي بالشرط
أرقام = []
# كرر على نطاق من الأرقام المكونة من خمسة أرقام
للاسطوانات في النطاق (10000 ، 100000):
# تحقق من ما تبقى من القسمة على 133
إذا الأسطوانات ٪ 133 = = 125:
# إذا كان الباقي هو 125 ، أضف الرقم إلى
الأرقام.إلحاق (الأسطوانات) قائمة
# إخراج قائمة بالأرقام التي تم العثور عليها
طباعة (أرقام)
نتيجة لتنفيذ هذا الرمز ، سنحصل على قائمة بجميع الأرقام المكونة من خمسة أرقام والتي تعطي 125 في الباقي عند القسمة على 133. يمكن استخدام هذه القائمة بشكل أكبر لتحليل البيانات أو إجراء عمليات أخرى.
الآن بعد أن قمنا بفرز الشيك المتبقي ، يمكننا المتابعة إلى الخطوة التالية ، وهي التحقق من حالة وجود أرقام محددة في الرقم.
الخطوة 3: إخراج النتائج
بعد الانتهاء من الخطوات السابقة ، لدينا قائمة من خمسة أرقام قابلة للقسمة على 133 مع باقي 125. الآن يمكننا عرض هذه القائمة.
لراحة عرض النتائج ، دعنا نستخدم الجدول. لنقم بإنشاء جدول بعمودين: سيتم عرض الأرقام الترتيبية للأرقام التي تم العثور عليها في العمود الأول ، والأرقام نفسها في العمود الثاني.
مثال على نتائج المخرجات:
| العدد | |
|---|---|
| 1 | 10125 |
| 2 | 10258 |
| 3 | 10391 |
رمز لإخراج النتائج:
"'بايثون
print(«Результаты:»)
print(«—————————«)
print(«| № | Число |»)
print(«—————————«)
for i, number in enumerate(numbers, 1):
print(f»| {i:<4} | {number:<12} |")
print(«—————————«)
«`
— это список найденных пятизначных чисел.
الآن ، بعد تنفيذ البرنامج ، سيكون لدينا جدول منسق بشكل جميل مع الأرقام الموجودة ، والتي يتم تقسيمها على 133 مع باقي 125. هذا يكمل مهمتنا.
سؤال وجواب
كيف يمكنني العثور على جميع الأرقام المكونة من خمسة أرقام التي تعطي 125 في ما تبقى عندما مقسوما 133 في بيثون?
للقيام بذلك ، يمكنك استخدام حلقة ، من خلال جميع الأرقام المكونة من خمسة أرقام. داخل الحلقة ، نتحقق من حالة القسمة على 133 ونحصل على الباقي 125. إذا تم استيفاء الشرط ، فقم بإضافة الرقم إلى القائمة.
هل من الممكن استخدام لغات البرمجة الأخرى لحل هذه المشكلة?
نعم ، يمكن حل المشكلة بلغات برمجة أخرى ، على سبيل المثال ، في سي++ أو جافا أو جافا سكريبت. فإن مبدأ الحل لا تزال هي نفسها: من الضروري التكرار على جميع الأرقام المكونة من خمسة أرقام والتحقق من شرط القسمة على 133 والحصول على الباقي 125.
ما هو تعقيد الخوارزمية لحل هذه المشكلة?
تعقيد هذه الخوارزمية هو ا (ن) ، أين ن هو عدد الأرقام المكونة من خمسة أرقام. في هذه الحالة ، ن هو 90000 (99999-10000 + 1) ، لذلك سيتم تشغيل الخوارزمية بسرعة كافية.
إذا كنت ترغب في العثور على جميع الأرقام المكونة من أربعة أرقام إعطاء الباقي 125 عندما مقسوما 133, كيف يمكنني تغيير رمز?
للبحث عن جميع الأرقام المكونة من أربعة أرقام والتي تعطي الباقي 125 عند القسمة على 133 ، تحتاج إلى تغيير الحلقة للتشغيل من 1000 إلى 9999. خلاف ذلك ، تظل الخوارزمية كما هي.