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

পাইথনে দেওয়া সংখ্যার সব প্রাইম ফ্যাক্টর বর্ধমান ক্রমে খুঁজে বের করার প্রোগ্রাম


মনে করুন n হল 1-থেকে বড় একটি সংখ্যা, আমাদের এর সব প্রাইম ফ্যাক্টর খুঁজে বের করে সাজানো ক্রমে ফেরত দিতে হবে। একটি সংখ্যক প্রাইম সংখ্যার গুণফল হিসেবে লেখা যায়, এগুলোই তার প্রাইম ফ্যাক্টর। একই প্রাইম ফ্যাক্টর একাধিকবার থাকতে পারে।

উদাহরণস্বরূপ, ইনপুট 42 হলে আউটপুট হবে [2, 3, 7]।

সমাধানের ধাপসমূহ

  • res := একটি নতুন তালিকা
  • যখন n mod 2 == 0,
    • res-এর শেষে 2 যোগ করুন
    • n := n/2-এর ভাগফল
  • i = 3 থেকে n-এর বর্গমূল পর্যন্ত, 2 ধাপে বৃদ্ধি পেলে
    • যখন n mod i == 0,
      • res-এর শেষে i যোগ করুন
      • n := n/i-এর ভাগফল
  • যদি n > 2, তবে
    • res-এর শেষে n যোগ করুন
  • res ফেরত দিন

উদাহরণ

class Solution:
    def solve(self, n):
        res=[]
        while n%2==0:
            res.append(2)
            n//=2
        for i in range(3,int(n**.5)+1,2):
            while n%i==0:
                res.append(i)
                n//=i
        if n>2:
            res.append(n)
        return res

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

ইনপুট

42

আউটপুট

[2, 3, 7]
  1. পাইথনে একটি সংখ্যার বিষম গুণনীয়গুলোর যোগফল বের করার প্রোগ্রাম

  2. পাইথনে একটি সংখ্যার জোড় গুণনীয়গুলোর যোগফল বের করার প্রোগ্রাম

  3. পাইথনে একটি সংখ্যার সর্বোচ্চ质因数 বের করার প্রোগ্রাম

  4. পাইথন প্রোগ্রাম: একটি সংখ্যার অনন্য প্রাইম ফ্যাক্টরের গুণফল বের করা