Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

जावा प्रोग्राम: संख्या के अद्वितीय अभाज्य गुणनखंडों का गुणनफल

उदाहरण

public class Demo { 
    public static long primeFactors(int num) { 
        long myProd = 1; 
        for (int i = 2; i <= num; i++) { 
            if (num % i == 0) { 
                boolean isPrime = true; 
                for (int j = 2; j <= i / 2; j++) { 
                    if (i % j == 0) { 
                        isPrime = false; 
                        break; 
                    } 
                } 
                if (isPrime) { 
                    myProd = myProd * i; 
                } 
            } 
        } 
        return myProd; 
    } 
    
    public static void main(String[] args) { 
        int num = 68; 
        System.out.println("अद्वितीय अभाज्य गुणनखंडों का गुणनफल है: "); 
        System.out.print(primeFactors(num)); 
    } 
}

आउटपुट

अद्वितीय अभाज्य गुणनखंडों का गुणनफल है 34

व्याख्या: Demo क्लास में 'primeFactors' नामक एक स्टेटिक फंक्शन होता है जो एक संख्या के अभाज्य गुणनखंड ढूंढता है, अद्वितीय संख्याएं ढूंढता है, और इन अभाज्य गुणनखंडों के गुणनफल को एक वेरिएबल में संग्रहीत करता है। मुख्य फंक्शन में, संख्या का मान परिभाषित किया जाता है, और इस संख्या को पैरामीटर के रूप में पास करके फंक्शन को कॉल किया जाता है। प्रासंगिक संदेश कंसोल पर प्रदर्शित होता है।

68 के लिए सत्यापन:

68 = 2 × 2 × 17 = 2² × 17
अद्वितीय अभाज्य गुणनखंड: 2, 17
गुणनफल = 2 × 17 = 34 ✓

अनुकूलित संस्करण (O(√n)):

public static long uniquePrimeProduct(int n) {
    long product = 1;
    
    // 2 को अलग से हैंडल करें
    if (n % 2 == 0) {
        product *= 2;
        while (n % 2 == 0) n /= 2;
    }
    
    // विषम संख्याएं √n तक
    for (int i = 3; i * i <= n; i += 2) {
        if (n % i == 0) {
            product *= i;
            while (n % i == 0) n /= i;
        }
    }
    
    // यदि n > 2 बचा है, तो यह अभाज्य है
    if (n > 2) product *= n;
    
    return product;
}

समय जटिलता तुलना:

दृष्टिकोणसमय जटिलताटिप्पणी
मूल (i/2 तक जांच)O(n²)बहुत धीमा बड़ी संख्याओं के लिए
√n तक जांचO(n√n)बेहतर
अनुकूलित (ऊपर)O(√n)सबसे तेज, n को कम करता जाता है
सीव प्रीकंप्यूटेशनO(n log log n) प्रीकंप्यूटएकाधिक क्वेरीज के लिए सर्वश्रेष्ठ

उपयोग केस:

  • संख्या सिद्धांत समस्याएं
  • क्रिप्टोग्राफी (RSA में φ(n) गणना)
  • अभाज्य गुणनखंडन-आधारित एल्गोरिदम
  1. पायथन प्रोग्राम: किसी संख्या के सम गुणनखंडों का योग ज्ञात करें पायथन प्रोग्राम: किसी संख्या के सम गुणनखंडों का योग ज्ञात करें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक संख्या दी गई है, हमें उस संख्या के सभी सम गुणनखंडों का योग प्रदर्शित करना है। दृष्टिकोण हम जांचते हैं कि क्या संख्या विषम है, तो कोई सम गुणनखंड नहीं हैं, इसलिए 0 वापस करें। यदि संख्या सम है, तो हम गणना के माध्यम से जाते हैं

  1. पायथन प्रोग्राम: संख्या के यूनिक प्राइम फैक्टर्स का गुणनफल पायथन प्रोग्राम: संख्या के यूनिक प्राइम फैक्टर्स का गुणनफल

    इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे: प्रॉब्लम स्टेटमेंट एक संख्या n दिए जाने पर, हमें इसके सभी यूनिक प्राइम फैक्टर्स का गुणनफल ढूंढना है और इसे वापस करना है। उदाहरण के लिए Input: num = 11 Output: Product is 11 व्याख्या यहां, इनपुट संख्या 11 है जिसमें केवल

  1. पायथन प्रोग्राम: किसी संख्या के अद्वितीय अभाज्य गुणनखंडों का गुणनफल पायथन प्रोग्राम: किसी संख्या के अद्वितीय अभाज्य गुणनखंडों का गुणनफल

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे -समस्या कथन - एक संख्या n दी गई है, हमें इसके सभी अद्वितीय अभाज्य गुणनखंडों का गुणनफल ज्ञात करना होगा और इसे वापस करना होगा।उदाहरण के लिए,इनपुट: num = 11आउटपुट: Product is 11व्याख्या: यहां, इनपुट संख्या 11 का केवल 1 अभाज्य गुणनखंड ह