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

पायथन में हैप्पी नंबर


यहां हम देखेंगे कि कैसे पता लगाएं कि कोई संख्या n हैप्पी नंबर है या नहीं। हैप्पी नंबर वह संख्या है जहां किसी भी धनात्मक पूर्णांक से शुरू करके, संख्या को उसके अंकों के वर्गों के योग से बदल दिया जाता है, यह प्रक्रिया तब तक दोहराई जाती है जब तक यह 1 नहीं बन जाती, अन्यथा यह अंतहीन चक्र में लूप करती रहेगी। वे संख्याएं जिनमें 1 पाया जाता है, वे हैप्पी नंबर होंगी।

मान लीजिए संख्या 19 है, आउटपुट true होगा क्योंकि संख्या हैप्पी नंबर है। जैसा कि हम 19 से देख सकते हैं, हमें मिलेगा:

12 + 92 = 82

82 + 22 = 68

62 + 82 = 100

12 + 02 + 02 = 1

हल करने के चरण

  • यहां हम डायनामिक प्रोग्रामिंग दृष्टिकोण का उपयोग करेंगे, और पुनरावृत्ति का उपयोग करके इसे हल करेंगे
  • बेस केस है, जब n = 1, तो true वापस करें
  • जब n पहले से देखा गया हो, तो false वापस करें
  • n को देखा गया चिह्नित करें
  • n := n को स्ट्रिंग के रूप में, l := n में सभी अंकों की सूची
  • temp := सभी अंकों का वर्ग योग
  • पैरामीटर temp और देखी गई सूची के साथ फंक्शन को पुनरावर्ती रूप से कॉल करें

उदाहरण

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

class Solution(object):
    def isHappy(self, n):
        """
        :type n: int
        :rtype: bool
        """
        return self.solve(n,{})

    def solve(self,n,visited):
        if n == 1:
            return True
        if n in visited:
            return False
        visited[n]= 1
        n = str(n)
        l = list(n)
        l = list(map(int,l))
        temp = 0
        for i in l:
            temp += (i**2)
        return self.solve(temp,visited)

ob1 = Solution()
op = ob1.isHappy(19)
print("Is Happy:",op)

इनपुट

19

आउटपुट

Is Happy: True

  1. - पायथन में एकल संख्या

    मान लीजिए हमारे पास एक सरणी A है। इस सरणी में कई संख्याएं हैं जो दो बार होती हैं। केवल एक तत्व एक बार पाया जा सकता है। हमें उस तत्व को उस सरणी से ढूंढना है। मान लीजिए A = [1, 1, 5, 3, 2, 5, 2], तो आउटपुट 3 होगा। चूंकि प्रत्येक संख्या दो बार है, हम उस तत्व को कैंसिल करने के लिए XOR कर सकते हैं। क्यो

  1. - पायथन में पालिंड्रोम संख्या

    मान लीजिए हमारे पास एक पूर्णांक है। हमें जांचना है कि पूर्णांक पालिंड्रोम है या नहीं। यदि पूर्णांक आगे या पीछे दोनों क्रम में समान है, तो संख्या पालिंड्रोम है। उदाहरण के लिए, मान लीजिए संख्या 454 है, यदि हम इसे उल्टा करते हैं तो यह फिर से 454 होगी। तो यह पालिंड्रोम है। अब यदि संख्या -565 है, तो उल्

  1. - Python में factorial()

    किसी संख्या का फैक्टोरियल ढूंढना डेटा विश्लेषण और Python में शामिल अन्य गणितीय विश्लेषण में एक बार-बार आने वाली आवश्यकता है। फैक्टोरियल हमेशा एक पॉजिटिव इंटीजर के लिए 1 से दी गई संख्या तक के सभी पूर्णांकों को गुणा करके पाया जाता है। इसके लिए तीन दृष्टिकोण हो सकते हैं जैसा कि नीचे दिखाया गया है।For L