इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे।
समस्या कथन
हमें एक संख्या 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
निष्कर्ष
इस लेख में हमने एराटोस्थनीज की छलनी के पायथन प्रोग्राम के बारे में सीखा।