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

السؤال

نشر (معدل)

السلام عليكم أريد شرح للمطلوب وحل المسألة لو أمكن، حيث أنني أتمرن على مهارة الـ Problem Solving.

Your Job

Find the sum of all multiples of n below m

keep in Mind

n and m are natural numbers (positive integers)

m is excluded from the multiples

Examples

sumMul(2, 9) ==> 2 + 4 + 6 + 8 = 20

sumMul(3, 13) ==> 3 + 6 + 9 + 12 = 30

sumMul(4, -7) ==> "INVALID"

بلغة python

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال ونص السؤال

Recommended Posts

  • 0
نشر

مرحبا علي،

نحن لا نقوم بحل التمارين الخاصة بكم ولكن نقوم بتوجيهكم ومساعدتكم في حلها وتصحيح الأخطاء إن وجدت.

إليك بعض الخطوات لحل التمرين:

  • قبل البدء في حل التمرين، تأكد من أن الأعداد n و m هما عددين طبيعيين (أي أنهما عددين صحيحين موجبين).
  • قم بإنشاء متغير لتخزين مجموع المضاعفات، وقم بتعيين قيمته الأولية إلى صفر. سنقوم بتحديث هذا المتغير خلال الحل.
  • قم بإجراء حلقة (loop) تتراوح من 1 إلى (m-1)، وقم بالتحقق في كل مرة مما إذا كان العدد مضاعفًا للعدد n.
  • في كل مرة تجد فيها عددًا مضاعفًا لـ n، قم بإضافته إلى قيمة المتغير الذي قمت بإنشائه في الخطوة السابقة.
  • بعد الانتهاء من الحلقة، يحتوي المتغير على مجموع جميع المضاعفات.
  • قم بإرجاع قيمة المتغير كنتيجة للتمرين.
  • في حالة وجود أي قيمة غير صحيحة للعددين n و m (مثل قيمة سالبة لـ m)، قم بإرجاع "INVALID".

أتمنى أن تكون الخطوات والشرح واضحين! في حالة وجود أي استفسار إضافي، فلا تتردد في طرحه.

 

  • 0
نشر
بتاريخ 1 دقيقة مضت قال مسعود زاهي:

نحن لا نقوم بحل التمارين الخاصة بكم ولكن نقوم بتوجيهكم ومساعدتكم في حلها وتصحيح الأخطاء إن وجدت.

انا اسف ما كنتش اعارف

بتاريخ 1 دقيقة مضت قال مسعود زاهي:

مرحبا علي،

نحن لا نقوم بحل التمارين الخاصة بكم ولكن نقوم بتوجيهكم ومساعدتكم في حلها وتصحيح الأخطاء إن وجدت.

إليك بعض الخطوات لحل التمرين:

  • قبل البدء في حل التمرين، تأكد من أن الأعداد n و m هما عددين طبيعيين (أي أنهما عددين صحيحين موجبين).
  • قم بإنشاء متغير لتخزين مجموع المضاعفات، وقم بتعيين قيمته الأولية إلى صفر. سنقوم بتحديث هذا المتغير خلال الحل.
  • قم بإجراء حلقة (loop) تتراوح من 1 إلى (m-1)، وقم بالتحقق في كل مرة مما إذا كان العدد مضاعفًا للعدد n.
  • في كل مرة تجد فيها عددًا مضاعفًا لـ n، قم بإضافته إلى قيمة المتغير الذي قمت بإنشائه في الخطوة السابقة.
  • بعد الانتهاء من الحلقة، يحتوي المتغير على مجموع جميع المضاعفات.
  • قم بإرجاع قيمة المتغير كنتيجة للتمرين.
  • في حالة وجود أي قيمة غير صحيحة للعددين n و m (مثل قيمة سالبة لـ m)، قم بإرجاع "INVALID".

أتمنى أن تكون الخطوات والشرح واضحين! في حالة وجود أي استفسار إضافي، فلا تتردد في طرحه.

 

تمام , شكرا جدا لحضرتك

اجرب وهشوف

بتاريخ 7 دقائق مضت قال مسعود زاهي:

التحقق في كل مرة مما إذا كان العدد مضاعفًا للعدد n

انا هضاعف N ام m

مش المفروض N

  • 0
نشر

مسعود كان يقصد الأسئلة الإختبارية الخاصة بالإمتحانات وما شابه، لكن أنت تقوم بالدراسة بمفردك ولا مشكلة في توفير الحل طالما قمت بالمحاولة، عليك بذكر أنه ليس سؤال إختباري وإنما تتمرن على مهارة الـ Problem Solving.

والمطلوب هو كتابة دالة في بايثون تحسب مجموع جميع أعداد مضاعفة لعدد محدد n والتي تكون أقل من العدد المحدد m، ويجب استبعاد العدد m نفسه من المجموع.

وسأوضح لك طريقة الحل:

  1. قم بتعريف دالة تسمى sumMul والتي تأخذ معها معاملين، n و m.
  2. قم بالتحقق مما إذا كان كل من n و m هما أعداد صحيحة موجبة (أعداد صحيحة طبيعية)، وإذا لم يكن أحدهما عددًا صحيحًا موجبًا، فأرجع النص "INVALID".
  3. قم بإنشاء متغير يسمى total_sum واجعله يساوي 0. هذا المتغير سوف يحتوي على مجموع الأعداد المضاعفة.
  4. استخدم حلقة for لتكرار من n إلى m (باستثناء m) بزيادة n. هذا سيضمن أنك تأخذ في الاعتبار فقط الأعداد المضاعفة لـ n.
  5. في داخل الحلقة، أضف القيمة الحالية إلى total_sum.
  6. بعد الحلقة، قم بإرجاع قيمة total_sum.

وإليك الكود بلغة بايثون:

def sumMul(n, m):
    if n <= 0 or m <= 0 or type(n) != int or type(m) != int:
        return "INVALID"
    
    total_sum = 0
    for i in range(n, m, n):
        total_sum += i
    
    return total_sum

والآن تستطيع استخدام تلك الدالة لإيجاد مجموع الأعداد المضاعفة كالتالي:

print(sumMul(2, 9))    # الناتج: 20
print(sumMul(3, 13))   # الناتج: 30
print(sumMul(4, -7))   # الناتج: "INVALID"

في المثال الأول، الأعداد المضاعفة للعدد 2 أقل من 9 هي 2 و 4 و 6 و 8. مجموعهم يساوي 20.

والمثال الثاني يتبع نفس المنطق لأعداد مضاعفة العدد 3 أقل من 13، مما يعطي مجموعًا قدره 30.

والمثال الثالث يعود بقيمة "INVALID" لأن أحد الإدخالات، -7، ليس عددًا صحيحًا موجبًا.

  • 0
نشر
بتاريخ 6 دقائق مضت قال Mustafa Suleiman:

مسعود كان يقصد الأسئلة الإختبارية الخاصة بالإمتحانات وما شابه، لكن أنت تقوم بالدراسة بمفردك ولا مشكلة في توفير الحل طالما قمت بالمحاولة، عليك بذكر أنه ليس سؤال إختباري وإنما تتمرن على مهارة الـ Problem Solving.

والمطلوب هو كتابة دالة في بايثون تحسب مجموع جميع أعداد مضاعفة لعدد محدد n والتي تكون أقل من العدد المحدد m، ويجب استبعاد العدد m نفسه من المجموع.

وسأوضح لك طريقة الحل:

  1. قم بتعريف دالة تسمى sumMul والتي تأخذ معها معاملين، n و m.
  2. قم بالتحقق مما إذا كان كل من n و m هما أعداد صحيحة موجبة (أعداد صحيحة طبيعية)، وإذا لم يكن أحدهما عددًا صحيحًا موجبًا، فأرجع النص "INVALID".
  3. قم بإنشاء متغير يسمى total_sum واجعله يساوي 0. هذا المتغير سوف يحتوي على مجموع الأعداد المضاعفة.
  4. استخدم حلقة for لتكرار من n إلى m (باستثناء m) بزيادة n. هذا سيضمن أنك تأخذ في الاعتبار فقط الأعداد المضاعفة لـ n.
  5. في داخل الحلقة، أضف القيمة الحالية إلى total_sum.
  6. بعد الحلقة، قم بإرجاع قيمة total_sum.

وإليك الكود بلغة بايثون:

def sumMul(n, m):
    if n <= 0 or m <= 0 or type(n) != int or type(m) != int:
        return "INVALID"
    
    total_sum = 0
    for i in range(n, m, n):
        total_sum += i
    
    return total_sum

والآن تستطيع استخدام تلك الدالة لإيجاد مجموع الأعداد المضاعفة كالتالي:

print(sumMul(2, 9))    # الناتج: 20
print(sumMul(3, 13))   # الناتج: 30
print(sumMul(4, -7))   # الناتج: "INVALID"

في المثال الأول، الأعداد المضاعفة للعدد 2 أقل من 9 هي 2 و 4 و 6 و 8. مجموعهم يساوي 20.

والمثال الثاني يتبع نفس المنطق لأعداد مضاعفة العدد 3 أقل من 13، مما يعطي مجموعًا قدره 30.

والمثال الثالث يعود بقيمة "INVALID" لأن أحد الإدخالات، -7، ليس عددًا صحيحًا موجبًا.

انا يا أ.مصطفي بحل مسائل من الموقع  الحضرتك نصحتنه به هو CodeWares

وانا والله بحاول من الصبح في حل المسائل و مش عارف 

الحمد الله دلوقتي فهمت 

شكرا جدا لحضرتك

  • 0
نشر
بتاريخ 55 دقائق مضت قال Ali Ahmed39:

أ.مصطفي لوسمحت الكود بيشتغل ازي يعني مش فهم  

ببساطة الكود هو لإنشاء حلقة تكرار (loop) تقوم بتنفيذ بعض الأوامر عدة مرات، وإليك تفسير الكود وفقًا للمتغيرات المستخدمة في الكود:

n و m هما متغيران يمثلان أرقامًا صحيحة (integers) من خلال تمريرهما إلى الدالة sumMul.

range(n, m, n) هو دالة في لغة Python تنشئ سلسلة من الأرقام بدءًا من القيمة n وحتى m بزيادة ثابتة بمقدار n.

مثلًا، إذا كانت قيمة n تساوي 2 وقيمة m تساوي 10، فستنشئ range سلسلة الأرقام [2, 4, 6, 8، تخزن تلك السلسلة في المتغير i خلال كل تكرار للحلقة.

والحلقة for تقوم بتنفيذ الأوامر الموجودة داخلها بناءًا على القيم المخزنة في المتغير i خلال كل تكرار، و زيادة قيمة المتغير total_sum بقيمة المتغير i، مما يعني أنه سيتم إضافة قيمة i إلى المتغير total_sum في كل تكرار للحلقة.

  • 0
نشر
بتاريخ 1 دقيقة مضت قال Mustafa Suleiman:

ببساطة الكود هو لإنشاء حلقة تكرار (loop) تقوم بتنفيذ بعض الأوامر عدة مرات، وإليك تفسير الكود وفقًا للمتغيرات المستخدمة في الكود:

n و m هما متغيران يمثلان أرقامًا صحيحة (integers) من خلال تمريرهما إلى الدالة sumMul.

range(n, m, n) هو دالة في لغة Python تنشئ سلسلة من الأرقام بدءًا من القيمة n وحتى m بزيادة ثابتة بمقدار n.

مثلًا، إذا كانت قيمة n تساوي 2 وقيمة m تساوي 10، فستنشئ range سلسلة الأرقام [2, 4, 6, 8، تخزن تلك السلسلة في المتغير i خلال كل تكرار للحلقة.

والحلقة for تقوم بتنفيذ الأوامر الموجودة داخلها بناءًا على القيم المخزنة في المتغير i خلال كل تكرار، و زيادة قيمة المتغير total_sum بقيمة المتغير i، مما يعني أنه سيتم إضافة قيمة i إلى المتغير total_sum في كل تكرار للحلقة.

اه يعني ممكن اكتب في الدله ()range ثلاثة ارقام   والارقام الثلاثه هو البيضاعفه 

صح كده 

يعني 

n = 2

m = 9

 

for loop هتشتغل من 1 الي 8   و  n = 2 الثلاثه هي البتضعافه عشان

باتة

2 ,4 ,6 ,8 

صح كده

 

  • 0
نشر

المطلوب في هذه المسألة هو إيجاد مجموع جميع الأعداد المضاعفة لعدد n والتي تكون أقل من العدد m. ومن المهم أن نلاحظ أن العدد m نفسه لا يُعتبر ضمن الأعداد المضاعفة.

على سبيل المثال، إذا كانت قيمة n تساوي 2 وقيمة m تساوي 9، فإن الأعداد المضاعفة للعدد 2 والتي تكون أقل من 9 هي: 2 و 4 و 6 و 8. لذا، المجموع الذي نريد حسابه هو 2 + 4 + 6 + 8 = 20.

وفي حالة أخرى، إذا كانت قيمة n تساوي 3 وقيمة m تساوي 13، فإن الأعداد المضاعفة للعدد 3 والتي تكون أقل من 13 هي: 3 و 6 و 9 و 12. لذا، المجموع الذي نريد حسابه هو 3 + 6 + 9 + 12 = 30.

إذا كان العدد m يكون سالبًا أو يساوي الصفر، فإن الإجابة تكون "INVALID" لأنه لا يمكننا الحصول على مجموع أعداد مضاعفة بتلك القيم.

وفيما يلي حلاً بلغة Python لهذه المسألة:

def sumMul(n, m):
    if n <= 0 or m <= 0:
        return "INVALID"
    
    multiples = [x for x in range(n, m, n)]
    return sum(multiples)

يمكنك استخدام هذا الحل لحساب المجموع. عند تمرير قيم n و m إلى الدالة sumMul()، ستُعيد الدالة المجموع الناتج من جميع الأعداد المضاعفة للعدد n والتي تكون أقل من العدد m. إذا كانت أي من القيمتين n أو m سالبة أو تساوي الصفر، ستُعيد الدالة "INVALID".

print(sumMul(2, 9))   # الناتج: 20
print(sumMul(3, 13))  # الناتج: 30
print(sumMul(4, -7))  # الناتج: "INVALID"

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...