ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีแก้ปัญหาตามที่ระบุด้านล่าง
คำชี้แจงปัญหา − เราได้รับตัวเลข n เราต้องพิมพ์จำนวนเฉพาะทั้งหมดที่น้อยกว่าหรือเท่ากับ n ข้อจำกัด:n เป็นจำนวนน้อย
ทีนี้มาดูวิธีแก้ปัญหาในการใช้งานด้านล่าง -
ตัวอย่าง
def SieveOfEratosthenes(n):
# array of type boolean with True values in it
prime = [True for i in range(n + 1)]
p = 2
while (p * p <= n):
# If it remain unchanged it is prime
if (prime[p] == True):
# updating all the multiples
for i in range(p * 2, n + 1, p):
prime[i] = False
p += 1
prime[0]= False
prime[1]= False
# Print
for p in range(n + 1):
if prime[p]:
print (p,end=" ")
# main
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

ตัวแปรทั้งหมดได้รับการประกาศในขอบเขตท้องถิ่นและการอ้างอิงของตัวแปรนั้นดูได้จากรูปด้านบน
บทสรุป
ในบทความนี้ เราได้เรียนรู้เกี่ยวกับวิธีการสร้างโปรแกรม Python สำหรับ Sieve of Eratosthenes