Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

تحديات برمجيةالتحدي التاسع - حل التمرين الخامس بلغة بايثون

المطلوب

أكتب برنامج يطلب من المستخدم إعطائه عدد صحيح أكبر من 2 و خزنه في المتغير n.
بعدها يقوم بطباعة جميع الأعداد الأولية ( Prime Numbers ) الموجودة بين 2 و n.

معلومة: العدد الأولي هو العدد الذي يقبل القسمة على نفسه و على 1 فقط مثل الأرقام 1 - 3 - 5 - 7 - 11 - 13 - 17 إلخ..


الحل بلغة بايثون

n = 1

while n <= 1:
    n = int(input('Enter a number: '))

print('All prime numbers between 2 and ', n, 'are:', end='')

# هذه الحلقة أنشأناها للمرور على جميع الأعداد الصحيحة من 2 إلى الرقم الذي أدخله المستخدم
for i in range(2, n + 1):

    # في كل مرة لمعرفة ما إن كانت تقبل القسمة على أي عدد أم لا i هذه الحلقة أنشأناها للتشيك على قيمة
    for j in range(2, i // 2 + 1):
        if i % j == 0:
            break

    # من الأساس أو في حال حاولنا تنفيذها و لكن شرط تنفيذها لم يتحقق j تتنفذ فقط في حال لم تتنفذ الحلقة else جملة الـ
    else:
        print(i, end=' ')

سنحصل على النتيجة التالية إذا قام المستخدم بإدخال الرقم 12 عند التشغيل.

Enter a number: 12
All prime numbers between 2 and 12: 2 3 5 7 11