Narcissistic numbers list: Guys who are serious about learning the concepts of the java programming language should practice this list of programs in java and get a good grip on it for better results in exams or interviews.
Given a number, the task is to check whether the given number is a Narcissistic Number or Not in Python.
Narcissistic Number:
Narcissistic numbers are a type of number that can be generated by adding the sum of its own digits raised to the power of the number of digits.
Example:
370
Number of digits=3
3*(Number of digits)+7*(Number of digits)+0*(Number of digits)
3^(3)+7^(3)+0^3=370
So it is a Narcissistic Number.
- Python Program to Check Armstrong Number
- Python Program to Find the Next Armstrong Number
- Python Program to Check Pronic Number or Not
Examples:
Example1:
Input:
Given Number =370
Output:
The given Number { 370 } is a Narcissistic Number
Example2:
Input:
Given Number =371
Output:
The given Number { 371 } is a Narcissistic Number
Program to Check a number is Narcissistic Number or Not in Python
Below are the ways to check whether the given number is a Narcissistic Number or Not in Python.
Method #1: Using For Loop (Static Input)
Approach:
- Give the number as static input and store it in a variable.
- Convert this number into list of digits using list(),map(),int(),str() functions.
- Store it in a variable.
- Calculate the length of the list using the len() function and store it in a variable say listleng.
- Take a variable tempo and initialize its value to 0.
- Loop in this digits list using For loop.
- Calculate the iterator value^listleng where ^ represents the power operator and store it in a variable.
- Increment the tempo by the above variable.
- After the end of For loop check if the tempo value is equal to the given number using the If conditional Statement.
- If it is true then print the given number as a Narcissistic Number.
- Else it is not a Narcissistic Number.
- The Exit of the Program.
Below is the implementation:
# Give the number as static input and store it in a variable. givennmb = 370 # Convert this number into list of digits using list(),map(),int(),str() functions. # Store it in a variable. numbedigis = list(map(int, str(givennmb))) # Calculate the length of the list using the len() function # and store it in a variable say listleng. listleng = len(numbedigis) # Take a variable tempo and initialize its value to 0. tempo = 0 # Loop in this digits list using For loop. for numbrdigit in numbedigis: # Calculate the iterator value^listleng where ^ represents # the power operator and store it in a variable. powevalu = numbrdigit**listleng # Increment the tempo by the above variable. tempo = tempo+powevalu # After the end of For loop check if the tempo value is equal # to the given number using the If conditional Statement. if(tempo == givennmb): # If it is true then print the given number as a Narcissistic Number. print('The given Number {', givennmb, '} is a Narcissistic Number') else: # Else it is not a Narcissistic Number. print('The given Number {', givennmb, '} is not a Narcissistic Number')
Output:
The given Number { 370 } is a Narcissistic Number
Method #2: Using For Loop (User Input)
Approach:
- Give the number as user input using the int(input()) function and store it in a variable.
- Convert this number into list of digits using list(),map(),int(),str() functions.
- Store it in a variable.
- Calculate the length of the list using the len() function and store it in a variable say listleng.
- Take a variable tempo and initialize its value to 0.
- Loop in this digits list using For loop.
- Calculate the iterator value^listleng where ^ represents the power operator and store it in a variable.
- Increment the tempo by the above variable.
- After the end of For loop check if the tempo value is equal to the given number using the If conditional Statement.
- If it is true then print the given number as a Narcissistic Number.
- Else it is not a Narcissistic Number.
- The Exit of the Program.
Below is the implementation:
# Give the number as user input using the int(input()) function and store it in a variable. givennmb = int(input('Enter some random number = ')) # Convert this number into list of digits using list(),map(),int(),str() functions. # Store it in a variable. numbedigis = list(map(int, str(givennmb))) # Calculate the length of the list using the len() function # and store it in a variable say listleng. listleng = len(numbedigis) # Take a variable tempo and initialize its value to 0. tempo = 0 # Loop in this digits list using For loop. for numbrdigit in numbedigis: # Calculate the iterator value^listleng where ^ represents # the power operator and store it in a variable. powevalu = numbrdigit**listleng # Increment the tempo by the above variable. tempo = tempo+powevalu # After the end of For loop check if the tempo value is equal # to the given number using the If conditional Statement. if(tempo == givennmb): # If it is true then print the given number as a Narcissistic Number. print('The given Number {', givennmb, '} is a Narcissistic Number') else: # Else it is not a Narcissistic Number. print('The given Number {', givennmb, '} is not a Narcissistic Number')
Output:
Enter some random number = 371 The given Number { 371 } is a Narcissistic Number
Related Programs:
- python program to check if a string is palindrome or not
- python program to check if a string is a pangram or not
- python program to check whether the given number is strong number or not
- python program to check whether the given number is perfect number or not
- python program to find if a number is prime or not prime using recursion
- python program to check whether a string is a palindrome or not using recursion
- java program to check whether a number is prime or not