এই আর্টিকেলে আমরা নিচের সমস্যা সমাধানের কথা শিখব।
সমস্যা: একটি সংখ্যা n দেওয়া আছে, আমাদের n বা তার চেয়ে ছোট সব প্রাইম নম্বর প্রিন্ট করতে হবে। কনস্ট্রেইন্ট: n একটি ছোট সংখ্যা।
চলুন নিচের ইমপ্লিমেন্টেশনে সমাধানটি পর্যবেক্ষণ করি।
উদাহরণ
def SieveOfEratosthenes(n):
# True ভ্যালুযুক্ত বুলিয়ান অ্যারে
prime = [True for i in range(n + 1)]
p = 2
while (p * p <= n):
# যদি অপরিবর্তিত থাকে তবে প্রাইম
if (prime[p] == True):
# সব মাল্টিপল আপডেট
for i in range(p * 2, n + 1, p):
prime[i] = False
p += 1
prime[0] = False
prime[1] = False
# প্রিন্ট
for p in range(n + 1):
if prime[p]:
print(p, end=" ")
# মেইন
if __name__ == '__main__':
n = 33
print("The prime numbers smaller than or equal to", n, "is")
SieveOfEratosthenes(n)
আউটপুট
The prime numbers smaller than or equal to 33 is 2 3 5 7 11 13 17 19 23 29 31

সभी ভেরিয়েবল লোকাল স্কোপে ঘোষণা করা হয়েছে এবং তাদের রেফারেন্স উপরের চিত্রে দেখা যাচ্ছে।
উপসংহার
এই আর্টিকেলে আমরা শিখেছি কিভাবে সিভ অফ এরাটোস্থেনিসের পাইথন প্রোগ্রাম লিখতে হয়।