 
  Data Structure Data Structure
 Networking Networking
 RDBMS RDBMS
 Operating System Operating System
 Java Java
 MS Excel MS Excel
 iOS iOS
 HTML HTML
 CSS CSS
 Android Android
 Python Python
 C Programming C Programming
 C++ C++
 C# C#
 MongoDB MongoDB
 MySQL MySQL
 Javascript Javascript
 PHP PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Happy Number in Python
Here we will see how to detect a number n is one Happy number or not. So the happy number is a number, where starting with any positive integers replace the number by the sum of squares of its digits, this process will be repeated until it becomes 1, otherwise it will loop endlessly in a cycle. Those numbers, when the 1 has found, they will be happy number.
Suppose the number is 19, the output will be true as the number is happy number. As we can see from 19, we will get
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1
To solve this, we will follow these steps −
- Here we will use the dynamic programming approach, and solve this using recursion
- Base case is, when n = 1, then return true
- When n is already visited, return false
- mark n as visited
- n := n as string, l := list of all digits in n
- temp := squared sum of all digits
- return function recursively with parameter temp and visited list
Example
Let us see the following implementation to get better understanding −
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)  Input
19
Output
Is Happy: True
Advertisements
 