التحدي رقم 1 لليوم رقم 1 من رمضان
اولا
كل عام و انتم بخير و اعاده الله عليكم بالمن و بالخير و البركه
لا تنشغل بالحل كثيرا كي لا تهمل عباداتك الاصليه
و لا تنسي تجديد نيتك فأن طلب العلم عباده
لا تنسوني و اخي المعتقل سياسيا من جميل دعائكم
وصف التحدي :
**مستوي التحدي : **
متوسط رياضيا
سهل برمجيا
قم بكتابة الدالة function
تستقبل عددين
، كلاهما عدد صحيح، ثم تقوم الدالة بإرجاع مصفوفة
تحتوي على جميع الأرقام الأولية
بين هذين الرقمين.
ملحوظه : كلمة مصفوفة يعني ليست [,]
ملحوظه : الاعداد الاوليه هي الاعداد التي لا تقبل القسمه الا علي نفسها او علي ال 1
(2,3,5,7…)
أضغط لرؤية المخرجات المتوقعة عشان تتيست الكود بتاعك
الاختبار 1
المدخلات (Inputs)
a = 1
b = 10
المخرجات (Outputs)
[2,3,5,7]
الاختبار 2
المدخلات (Inputs)
a = 20
b = 50
المخرجات (Outputs)
[23,29,31,37,41,43,47]
الاختبار 3
المدخلات (Inputs)
a = 90
b = 100
المخرجات (Outputs)
[97]
الاختبار 4
المدخلات (Inputs)
a = 53
b = 67
المخرجات (Outputs)
[53,59,61,67]
حل التحدي
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def prime_numbers(a, b):
if a > b:
a, b = b, a # التأكد ان ال a دايما هو الاصغر
primes = []
for num in range(a, b + 1):
if is_prime(num):
primes.append(num)
return primes
حل اخر للتحدي
import math
def getPrimesBetween(a, b):
primes = []
for i in range(max(2, a), b + 1): # نبدأ من 2 أو من a إذا كان أكبر من 2
is_prime = True
for n in range(2, int(math.sqrt(i)) + 1): # التحقق حتى الجذر التربيعي للعدد
if i % n == 0:
is_prime = False
break
if is_prime:
primes.append(i)
return primes