The best and excellent way to learn a java programming language is by practicing Simple Java Program Examples as it includes basic to advanced levels of concepts.
Given a number, the task is to check whether the given number is a happy number or not.
Happy Number :
If the repeating sum of the digits squared equals one, the number is said to be a Happy Number. If we continue this method and get outcome 1, we have a happy number. If the outcome is 4, it enters an infinite loop and is not a happy number. Let’s look at an example to help you grasp it better.
Given Number = 320
Square of the digits = 32 + 22 + 02 = 13
Square of the digits = 12 + 32 = 10
Square of the digits = 12 + 02 = 1
Other Examples of happy numbers =7, 28, 100 etc.
Examples:
Example1:
Input:
Given number =100
Output:
The given number [ 100 ] is a happy number
Example2:
Input:
Given number = 28
Output:
The given number [ 28 ] is a happy number
Program to Check If A Number Is A Happy Number in Python
Below are the ways to check whether the given number is a happy number or not.
Method #1: Using For Loop (Static Input)
Approach:
- Give the number as static input and store it in a variable.
- Create a function digitSquareSum()Â that accepts the given number as an argument and returns the sum of squares of digits.
- Inside the digitSquareSum()Â function.
- Convert the given argument to string using the str() function.
- Convert the given argument into list of digits using list(),map(),int() functions.
- Store it in a variable.
- Take a variable sumsquaredigits and initialize its value to 0.
- Loop in this digits list using For loop.
- Increment the value of sumsquaredigits by the square of the digit(iterator value).
- Return the sumsquaredigits value.
- Take a variable reslt and initialize its value to the given number.
- Loop till the reslt is not equal to 1 or 4 using while loop.
- Inside the loop pass the reslt value to digitSquareSum()Â and store it in the same variable reslt.
- After the end of the while loop, Check whether reslt value is 1 or not using the If statement.
- If it is true then the given number is a happy number.
- Else it is not a happy number.
- The Exit of the Program.
Below is the implementation:
# Create a function digitSquareSum()Â that accepts the given number # as an argument and returns the sum of squares of digits. def digitSquareSum(resltnumber): # Inside the digitSquareSum()Â function. # Convert the given argument to string using the str() function. strnumbe = str(resltnumber) # Convert the given argument into list of digits using list(),map(),int() functions. # Store it in a variable. numbrlistdigits = list(map(int, strnumbe)) # Take a variable sumsquaredigits and initialize its value to 0. sumsquaredigits = 0 # Loop in this digits list using For loop. for digitvalu in numbrlistdigits: # Increment the value of sumsquaredigits by the square # of the digit(iterator value). sumsquaredigits = sumsquaredigits+(digitvalu**2) # Return the sumsquaredigits value return sumsquaredigits # Give the number as static input and store it in a variable. numbr = 100 # Take a variable reslt and initialize its value to the given number. reslt = numbr # Loop till the reslt is not equal to 1 or 4 using while loop. while(reslt != 1 and reslt != 4): # Inside the loop pass the reslt value to digitSquareSum() # and store it in the same variable reslt. reslt = digitSquareSum(reslt) # After the end of the while loop, # Check whether reslt value is 1 or not using the If statement. if(reslt == 1): # If it is true then the given number is a happy number. print('The given number [', numbr, '] is a happy number') else: # Else it is not a happy number. print('The given number [', numbr, '] is not a happy number')
Output:
The given number [ 100 ] is a happy number
Method #2: Using For Loop (User Input)
Approach:
- Give the number as user input using int(input()) and store it in a variable.
- Create a function digitSquareSum()Â that accepts the given number as an argument and returns the sum of squares of digits.
- Inside the digitSquareSum()Â function.
- Convert the given argument to string using the str() function.
- Convert the given argument into list of digits using list(),map(),int() functions.
- Store it in a variable.
- Take a variable sumsquaredigits and initialize its value to 0.
- Loop in this digits list using For loop.
- Increment the value of sumsquaredigits by the square of the digit(iterator value).
- Return the sumsquaredigits value.
- Take a variable reslt and initialize its value to the given number.
- Loop till the reslt is not equal to 1 or 4 using while loop.
- Inside the loop pass the reslt value to digitSquareSum()Â and store it in the same variable reslt.
- After the end of the while loop, Check whether reslt value is 1 or not using the If statement.
- If it is true then the given number is a happy number.
- Else it is not a happy number.
- The Exit of the Program.
Below is the implementation:
# Create a function digitSquareSum()Â that accepts the given number # as an argument and returns the sum of squares of digits. def digitSquareSum(resltnumber): # Inside the digitSquareSum()Â function. # Convert the given argument to string using the str() function. strnumbe = str(resltnumber) # Convert the given argument into list of digits using list(),map(),int() functions. # Store it in a variable. numbrlistdigits = list(map(int, strnumbe)) # Take a variable sumsquaredigits and initialize its value to 0. sumsquaredigits = 0 # Loop in this digits list using For loop. for digitvalu in numbrlistdigits: # Increment the value of sumsquaredigits by the square # of the digit(iterator value). sumsquaredigits = sumsquaredigits+(digitvalu**2) # Return the sumsquaredigits value return sumsquaredigits # Give the number as user input using int(input()) and store it in a variable. numbr = int(input( 'Enter some random number to check whether the number is happy number or not = ')) # Take a variable reslt and initialize its value to the given number. reslt = numbr # Loop till the reslt is not equal to 1 or 4 using while loop. while(reslt != 1 and reslt != 4): # Inside the loop pass the reslt value to digitSquareSum() # and store it in the same variable reslt. reslt = digitSquareSum(reslt) # After the end of the while loop, # Check whether reslt value is 1 or not using the If statement. if(reslt == 1): # If it is true then the given number is a happy number. print('The given number [', numbr, '] is a happy number') else: # Else it is not a happy number. print('The given number [', numbr, '] is not a happy number')
Output:
The given number [ 100 ] is a happy number
Related Programs:
- python program to check if a number is peterson number
- python program to check if a string is palindrome or not
- python program to check a number is prime or not
- python program to check if a string is a pangram or not
- python program to check if a date is valid and print the incremented date
- python program to find if a number is prime or not prime using recursion
- python program to check if a substring is present in a given string