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

Python प्रोग्राम में N के चार गुणनखोजें जिनका अधिकतम गुणनफल और योग N के बराबर हो - सेट-2


मान लीजिए हमारे पास एक संख्या N है, हमें N के सभी गुणनखोजने हैं और N के चार गुणनखोजने का गुणनफल वापस करना है जैसे कि: चार गुणनखोजने का योग N के समान है। चार गुणनखोजने का गुणनफल अधिकतम है। उत्पाद को अधिकतम करने के लिए सभी चार गुणनखोजने एक-दूसरे के बराबर हो सकते हैं।

तो, यदि इनपुट N = 60 की तरह है, तो आउटपुट होगा: सभी गुणनखोजने हैं -> 1 2 3 4 5 6 10 12 15 20 30 60 और उत्पाद 50625 है, क्योंकि 15 को चार बार चुना गया है ताकि उत्पाद सबसे बड़ा हो।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • factors := एक नई सूची

  • i के लिए 1 से (n का वर्गमूल का पूर्णांक) + 1 की सीमा में, करें

    • यदि n mod i, 0 के समान है, तो

      • factors के अंत में i डालें

      • factors के अंत में (n / i) का पूर्णांक भाग डालें

  • सूची factors को क्रमबद्ध करें

  • factors प्रदर्शित करें

  • final_prod := 1, flag := 1

  • i के लिए 0 से factors के आकार की सीमा में, करें

    • j के लिए i से factors के आकार की सीमा में, करें

      • k के लिए j से factors के आकार की सीमा में, करें

        • y := n - factors[i] - factors[j] - factors[k]

        • यदि y <= 0, तो

          • लूप से बाहर निकलें

        • यदि n mod y, 0 के समान है, तो

          • flag := 0

  • final_prod := factors[i] * factors[j] * factors[k] * y, final_prod का अधिकतम

  • यदि flag, 0 के समान है, तो

    • final_prod प्रदर्शित करें

  • अन्यथा,

    • "Not possible" प्रदर्शित करें

उदाहरण

बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

from math import * def get_factors(n) :     factors = []     for i in range(1, int(sqrt(n)) + 1) :         if n % i == 0 :             factors.append(i)             factors.append(n // i)     factors.sort()     print("Factors are ", factors)     final_prod = 1     flag = 1     for i in range(0, len(factors)) :         for j in range(i, len(factors)) :             for k in range(j, len(factors)) :                 y = n - factors[i] - factors[j] - factors[k]                 if y <= 0 :                     break                 if n % y == 0 :                     flag = 0                     final_prod = max(factors[i] * factors[j] * factors[k] * y , final_prod)     if flag == 0 :         print("Product is", final_prod)     else :         print("Not possible") n = 60 get_factors(n)

इनपुट

60

आउटपुट

Factors are [1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60] Product is 50625

  1. पायथन प्रोग्राम: किसी संख्या के सम गुणनखंडों का योग ज्ञात करें पायथन प्रोग्राम: किसी संख्या के सम गुणनखंडों का योग ज्ञात करें

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

  1. पायथन प्रोग्राम: संख्या के ऑड फैक्टर्स का योग ढूंढें पायथन प्रोग्राम: संख्या के ऑड फैक्टर्स का योग ढूंढें

    इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे: प्रॉब्लम स्टेटमेंट एक नंबर इनपुट n दिए जाने पर, कार्य संख्या के ऑड फैक्टर्स का योग निकालना है। यहां हमें पहले सभी इवन फैक्टर्स को समाप्त करने की आवश्यकता है। सभी इवन फैक्टर्स को हटाने के लिए, हम n को बार-बार तब तक विभाजित

  1. पायथन प्रोग्राम: संख्या के इवन फैक्टर्स का योग ढूंढें पायथन प्रोग्राम: संख्या के इवन फैक्टर्स का योग ढूंढें

    इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे: प्रॉब्लम स्टेटमेंट एक नंबर इनपुट n दिए जाने पर, कार्य संख्या के इवन फैक्टर्स का योग निकालना है। यहां हमें पहले सभी ऑड फैक्टर्स को समाप्त करने की आवश्यकता है। यदि इनपुट नंबर ऑड है तो इसका कोई इवन फैक्टर नहीं है इसलिए सीधे