اذهب إلى المحتوى
  • 0

def max_product_remainder(nums, modulo): nums.sort(reverse=True) max_product = (nums[0] * nums[1]) % modulo return max_product # الأعداد للسؤال الفرعي 0 numbers_0 = [5, 5, 4, 8, 1, 7] result_0 = max_product_remainder(numbers_0, 9982

آمال الزهراني

السؤال

def max_product_remainder(nums, modulo):
    nums.sort(reverse=True)
    
    max_product = (nums[0] * nums[1]) % modulo
    
    return max_product

# الأعداد للسؤال الفرعي 0
numbers_0 = [5, 5, 4, 8, 1, 7]
result_0 = max_product_remainder(numbers_0, 998244353)
print("سؤال فرعي 0:", result_0)

# الأعداد للسؤال الفرعي 1
numbers_1 = [5, 7, 4, 1, 1, 1, 9, 1, 9, 6, 4, 9, 1, 8, 8, 8, 1]
result_1 = max_product_remainder(numbers_1, 998244353)
print("سؤال فرعي 1:", result_1)

# الأعداد للسؤال الفرعي 2
numbers_2 = [3, 1, 4, 8, 4, 2, 8, 6, 6, 1, 6, 5, 5, 3, 4, 6, 1, 3, 7, 1, 6, 1, 9, 1, 3, 3, 3, 6, 5, 1, 5, 1, 8, 1, 6, 6, 8, 4, 9, 7, 3, 8, 4, 8, 2, 3, 3, 1, 4, 7, 8, 4, 9, 1, 9, 2, 1, 3, 6, 2, 8, 2, 1, 5, 6, 6, 6, 5, 7, 7, 7, 7, 3, 1, 8, 7, 6, 2, 8, 9, 1, 2, 3, 8, 2, 2, 1, 7, 1, 4, 5, 5, 8, 7, 9, 1, 8, 9, 3, 6]
result_2 = max_product_remainder(numbers_2, 998244353)
print("سؤال فرعي 2:", result_2)
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

مرحبا سيدتي آمال. انت لم تحددي ما هو السؤال لا في العنوان ولا في النص (بالمناسبة، من المفترض أن لا يكون الكود في العنوان)، لكن إذا كان المطلوب هو شرح هذا الكود، فإليك الشرح:

هذا الكود يحتوي على دالة  max_product_remainder تأخذ قائمة من الأعداد الصحيحة (nums) وعددا صحيحا موجبا (modulo) كمعاملات. عملها هو إيجاد أكبر حاصل ضرب ممكن بين عنصرين من القائمة، ثم أخذ باقي القسمة لهذا الحاصل على العدد modulo. الدالة ترجع هذا الباقي كنتيجة. تتبع الدالة الخطوات التالية:

  1. ترتب القائمة nums ترتيبا تنازليا باستخدام الدالة sort مع المعامل reverse=True. هذا يعني أن أكبر عنصر في القائمة سيكون في الموضع الأول، وأصغر عنصر سيكون في الموضع الأخير.
  2. تحسب أكبر حاصل ضرب ممكن بين عنصرين من القائمة بضرب أول عنصرين في القائمة (nums[0] * nums[1]). القائمة مرتبة بالترتيب التنازلي، فلا يوجد عنصرين آخرين يمكن أن يكون حاصل ضربهما أكبر من حاصل ضرب أول عنصرين.
  3. تحسب باقي القسمة لهذا الحاصل على العدد modulo باستخدام العامل %.
  4. ترجع هذا الباقي كنتيجة باستخدام الكلمة المفتاحية return.

بعد تعريف الدالة، يتم استدعاؤها ثلاث مرات مع قوائم مختلفة من الأعداد (numbers_0, numbers_1, numbers_2) ونفس العدد modulo (998244353). كل مرة، يتم تخزين النتيجة في متغير (result_0, result_1, result_2) وطباعتها باستخدام الدالة print مع رسالة توضح رقم السؤال الفرعي.

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...