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

পাইথনে সংখ্যার ইউনিক প্রাইম ফ্যাক্টরগুলোর গুণফল বের করা

দেওয়া একটি সংখ্যা n-এর সব ইউনিক প্রাইম ফ্যাক্টরগুলোর গুণফল বের করা।

পদ্ধতি ১: ব্রুট-ফোর্স (লুপ)


def productPrimeFactors(n):
    product = 1
    for i in range(2, n+1):
        if n % i == 0:
            isPrime = 1
            for j in range(2, int(i/2 + 1)):
                if i % j == 0:
                    isPrime = 0
                    break
            if isPrime:
                product = product * i
    return product

print(productPrimeFactors(18))

আউটপুট

120

পদ্ধতি ২: অপ্টিমাইজড (২ দিয়ে ভাগ, তারপর অড নম্বর)


import math

def productPrimeFactors(n):
    product = 1
    # প্রাইম ফ্যাক্টর ২
    if n % 2 == 0:
        product *= 2
        while n % 2 == 0:
            n = n / 2
    # n এখন অড
    for i in range(3, int(math.sqrt(n)) + 1, 2):
        if n % i == 0:
            product = product * i
            while n % i == 0:
                n = n / i
    # n যদি ২ থেকে বড় প্রাইম হয়
    if n > 2:
        product = product * n
    return product

print(int(productPrimeFactors(8)))

আউটপুট

2

উপসংহার

ব্রুট-ফোর্স এবং অপ্টিমাইজড (sqrt(n) পর্যন্ত চেক) দুটি পদ্ধতিতে ইউনিক প্রাইম ফ্যাক্টরগুলোর গুণফল বের করা।

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

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

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

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