Python is certainly one of the most popular and well-known coding platforms in the world.
Thanks to its great features and versatility, Python is the programming language of choice for everyone, from amateurs to professionals.
That said, one of the most common demands we receive from our customers is to program Armstrong numbers in Python.
This may seem very easy to someone who knows the language, but there are some technical details that can be overlooked.
Therefore, this article details Armstrong numbers in Python and how to code that program in Python.
What is an Armstrong number?
Armstrong number is the no which when raised to the power of 3 and summed, then the sum of the cubes is equal to the number itself.
Let’s take a numerical example to understand the full concept of the Armstrong number.
Let the number be n. Check the number of digits. Each digit of the number is retrieved and becomes a power of n.
All of these numbers are summed, and if the sum of these numbers is equal to the number itself, then the number n is the Armstrong number. Otherwise, the number n is not an Armstrong number.
Armstrong number example
153=1^3+5^3+3^3
371=1^3+7^3+1^3
Algorithm for Armstrong number
- The input number can be read by input ().
- The value entered is checked to see if it is an integer.
- The value entered is checked for greater than zero.
- Assign the declared variable to 0.
- The remainder of the entered number is determined using the modulus (%) operator, which specifies each digit of the number.
- A cube of each digit is detected and added to the variables initialized in step 4.
- The number that comes as the result is finally divided by ten.
- Repeat steps 5, 6, and 7 until the number you entered is less than or equal to zero.
- If the input number is equal to the initialized variable, an instruction is printed that the number is an Armstrong number. If the number entered does not match the initialized variable, an instruction is passed and printed that the number is not an Armstrong number.
2 significant ideas are expected to compose a code for checking Armstrong’s number.
To start with, you would require to comprehend If/else explanation (it is a piece of code used when the programmer needs an activity to be done provided that some characterized conditions are fulfilled).
Besides, you would also require to comprehend while loop(it is a piece of code used when an activity ought to be done over and again until some characterized condition is fulfilled).
To check for an Armstrong number in python, you should calculate and compute the sum of the 3D square of every digit (if the number is a 3-digit number).
This is done by equating the total to 0 and afterward getting every digit number by using the modulus (%).
From that point, you observe the 3D squares using the type administrator. At last, you compare the aggregate with the 1st number. It an Armstrong number if the 2 numbers are equal.
two digit Armstrong number
There are no two-digit Armstrong numbers possible.
3 digit Armstrong number
python program to check Armstrong number
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | number = int(input( " Please enter a number of your choice to check if it is an Armstrong number or not: ")) temp = number sum = 0 while temp > 0: d = temp % 10 sum = d ** 3 temp //= 10 if number == sum: print(number, " Great!! This is an Armstrong Number") else: print(number, "Opps! This is an Armstrong Number") |
Output
1 | 153 Great!! This is an Armstrong Number |
1 | 371 Great!! This is an Armstrong Number |
In this Python program of Armstrong number, the programmer ask the person who will be using this Python language program to enter a number and check if it is an Armstrong number or not.
As this is an integer, we assign it using the int() function and distribute it to the num variable.
Then, the ar sum variable is placed equal to 0.
The sum of the num variable is made equal to the variable, which we refer to as t. A while loop checks the condition of whether the variable t is assigned the value 0 or not.
Also, at the same time, the function line contained within the while loop, ar sum += d ** 3; raises each digit of the number entered by the user to its cube (i.e. to its power of 3).
The loop ends cubing each digit of the number entered when there are no digits left.
Then, the program checks if the number entered by the user is equal to the ar sum variable.
If it is true, then the function print (num, “IS associate ARMSTRONG NUMBER”) prints that the number that has been entered by the user is an Armstrong number.
As per the result, the number that is entered by the user i.e. 370 is an Armstrong number and the same message is printed on the screen.
4 digit Armstrong number
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | number = int( input( " Please enter a number of your choice to check if it is an Armstrong number or not: ")) temp = number sum = 0 while temp > 0: d = temp % 10 sum = d ** 4 temp //= 10 if number == sum: print(number, " Great!! This is an Armstrong Number") else: print(number, "Opps! This is an Armstrong Number") |
1 2 3 | 1634 is an Armstrong number and it is an Armstrong number of order 4 8208 is an Armstrong number and it is an Armstrong number of order 4 9474 is an Armstrong number and it is an Armstrong number of order 4 |
Check Armstrong number of n digits using while loop
1 2 3 4 5 6 7 8 9 10 11 12 13 | number_str = input(" Please enter a number of your choice to check if it is an Armstrong number or not: ") number = int(number_str) temp = number length = len(number_str) sum = 0 while temp > 0: d = temp % 10 sum = d ** length temp //= 10 if number == sum: print(number, " Great!! This is an Armstrong Number") else: print(number, "Opps! This is an Armstrong Number") |
Check Armstrong number for n digits using function
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | def isArmstrong(number_str): number = int(number_str) temp = number length = len(number_str) sum = 0 while temp > 0: d = temp % 10 sum = d ** length temp //= 10 return number == sum number_str1 = input( " Please enter a number to check is it an Armstrong number or not: " ) print(isArmstrong(number_str1)) print(isArmstrong("8208")) print(isArmstrong("155")) |
Check Armstrong number using For loop in python
1 2 3 4 5 6 7 8 9 10 11 12 13 | number_str = input(" Please enter a number to check if it is an Armstrong number or not: ") number = int(number_str) sum = 0 temp=number; length = len(number_str) for num in list(number_str): sum= sum+(int(num)**length) if number == sum: print(number, " Great!! This is an Armstrong Number") else: print(number, "Opps! This is an Armstrong Number") |
Read More