কম্পিউটার

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


ধরুন আমাদের একটি সংখ্যা n আছে, আমাদের ঊর্ধ্বক্রম অনুসারে n থেকে অরিকুয়াল থেকে ছোট সমস্ত মৌলিক সংখ্যার একটি তালিকা তৈরি করতে হবে। আমাদের মনে রাখতে হবে যে 1 একটি মৌলিক সংখ্যা নয়।

সুতরাং, যদি ইনপুট 12 এর মত হয়, তাহলে আউটপুট হবে [2, 3, 5, 7, 11]।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • চালনি :=n+1 আকারের একটি তালিকা এবং True দিয়ে পূরণ করুন
  • primes :=একটি নতুন তালিকা, প্রাথমিকভাবে ফাঁকা
  • 2 থেকে n রেঞ্জের i জন্য, করুন
    • যদি চালনি[i] সত্য হয়, তাহলে
      • প্রাইম এর শেষে i ঢোকান
      • i থেকে n রেঞ্জে j-এর জন্য, i দ্বারা প্রতিটি ধাপে আপডেট করুন, করুন
        • চালনী[j] :=মিথ্যা
  • রিটার্ন প্রাইম

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

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. পাইথনে একটি তালিকার সমস্ত স্থানান্তর কীভাবে তৈরি করবেন?

  2. পাইথন ব্যবহার করে প্রাইম টুইন কিভাবে তৈরি করবেন?

  3. পাইথনে একটি সাজানো তালিকা কীভাবে তৈরি করবেন?

  4. পাইথনে অ-পুনরাবৃত্ত র্যান্ডম সংখ্যা কীভাবে তৈরি করবেন?