কম্পিউটার টিউটোরিয়াল

পাইথনে n এর চেয়ে ছোট প্রাইম সংখ্যাগুলির তালিকা তৈরি করা

मान लीजिए हमारे पास एक संख्या n है। हमें n से छोटी या बराबर सभी अभाज्य संख्याओं की सूची आरोही क्रम में बनानी है। ध्यान रखें कि 1 अभाज्य संख्या नहीं है।

उदाहरण के लिए, यदि इनपुट 12 है, तो आउटपुट होगा [2, 3, 5, 7, 11]

समाधान दृष्टिकोण (Sieve of Eratosthenes)

इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:

  • sieve := आकार n+1 की एक सूची जिसे True से भरा गया है
  • primes := एक नई खाली सूची
  • i के लिए 2 से n तक की रेंज में:
    • यदि sieve[i] True है, तो:
      • i को primes के अंत में डालें
      • j के लिए i से n तक चरण i में:
        • sieve[j] := False
  • primes वापस करें

उदाहरण कोड

class Solution:
    def solve(self, n):
        sieve = [True] * (n + 1)
        primes = []
        for i in range(2, n + 1):
            if sieve[i]:
                primes.append(i)
                for j in range(i, n + 1, i):
                    sieve[j] = False
        return primes

ob = Solution()
print(ob.solve(12))

इनपुट

12

आउटपुट

[2, 3, 5, 7, 11]
  1. পাইথনে লিস্টের সকল পারমিউটেশন (Permutation) বের করা

  2. পাইথনে প্রাইম টুইন (Twin Primes) জেনারেট করা

  3. পাইথনে সর্টেড লিস্ট তৈরি করা

  4. Python-এ নন-রিপিটিং র‍্যান্ডম নম্বর জেনারেট করা