GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing codescracker.com — Python Program to Check Armstrong Number
Python Program to Check Armstrong NumberIn this article, we've created some programs in Python, to check whether a number entered by user is an Armstrong number or not. Here are the list of programs:
But before starting these programs, let me clear the thing about Armstrong number, that what it is. What is an Armstrong Number ?A number that equals to the sum of its own digits, where each digit raised to the power of number of digits. For example, 153 is an Armstrong number, because: 153 = 13 + 53 + 33
= 1 + 125 + 27
= 153
The result (153) is equal to the number (153) itself. So it is an Armstrong number. Note - Because the total number of digit in 153 is 3, so each of its digit raised to the power of 3. Note - 1, 2, 3, 4, 5, 6, 7, 8, and 9 are all Armstrong numbers. Check Armstrong NumberTo check whether a given number is an Armstrong number or not in Python, you have to ask from user to enter a number, then apply the formula, check and print the message as shown in the program given below: print("Enter the Number: ") num = int(input()) temp = num noOfDigit = 0 res = 0 while num>0: num = int(num/10) noOfDigit = noOfDigit+1 num = temp while num>0: rem = num%10 pow = 1 i = 0 while i<noOfDigit: pow = pow*rem i = i+1 res = res+pow num = int(num/10) if res==temp: print("\nThe number is an Armstrong Number") else: print("\nThe number is not an Armstrong Number") Here is the initial output produced by this Python program: Now supply the input say 1634 and press Since 1634 is a four-digit number, therefore: 1634 = 14 + 64 + 34 + 44
= 1 + 1296 + 81 + 256
= 1297 + 337
= 1634
In above program, the following block of code: while num>0: num = int(num/10) noOfDigit = noOfDigit+1 is used to count the total number of digits of given number. The dry run of this block of code with user input 1634 goes like:
And the following block of code: while i<noOfDigit:
pow = pow*rem
i = i+1
is used to calculate the value of digit's raised to the power of number of digit. The dry run of this block of code goes like:
After second evaluation of this block of code, pow holds its value as 3*3*3*3, at third time pow holds 6*6*6*6 and at fourth time pow holds 1*1*1*1 Modified Version of Previous ProgramThis is the modified version of previous program. In this program, we've used end to skip printing of an automatic newline using print(). And rem**noOfDigit is used to find remnoOfDigit value. The str() method is used to convert any type of value to string type value. Rest of the things are similar to previous program. print("Enter the Number: ", end="") num = int(input()) temp = num noOfDigit = len(str(num)) res = 0 while num>0: rem = num%10 res = res + (rem ** noOfDigit) num = int(num/10) if res==temp: print("\n" +str(temp)+ " is an Armstrong Number") else: print("\n" +str(temp)+ " is not an Armstrong Number") Here is its sample run with user input, 9: Check Armstrong Number using FunctionThis program uses used-defined function named checkArmstrongNum() to check whether a number entered by user at run-time is an Armstrong number or not. def checkArmstrongNum(x): noOfDigit = 0 res = 0 temp = x while x>0: x = int(x/10) noOfDigit = noOfDigit + 1 x = temp while x>0: rem = x%10 pow = 1 i = 0 while i<noOfDigit: pow = pow * rem i = i + 1 res = res + pow x = int(x/10) if res==temp: return 1 else: return 0 print("Enter the Number: ", end="") num = int(input()) chk = checkArmstrongNum(num) if chk==1: print(num, "is an Armstrong Number") else: print(num, "is not an Armstrong Number") Here is its sample run with user input, 371: Here is another sample run with user input, 532: Check Armstrong Number using ClassThis is the last program of this article on checking Armstrong number, using class, an object-oriented feature of Python: class CodesCracker: def checkArmstrongNum(self, x): noOfDigit = len(str(x)) res = 0 temp = x while x>0: rem = x%10 res = res + (rem ** noOfDigit) x = int(x/10) if res==temp: return 1 else: return 0 print("Enter the Number: ", end="") num = int(input()) obj = CodesCracker() chk = obj.checkArmstrongNum(num) if chk==1: print(num, "is an Armstrong Number") else: print(num, "is not an Armstrong Number") An object obj is created of type CodesCracker class to access its member function named checkArmstrongNum() using dot (.) operator. Same Program in Other Languages« Previous Program Next Program » Practice Quizzes
Test your programming and computer science knowledge with interactive MCQs and topic-based quizzes. Popular Topics
Explore the most popular programming and computer science tutorials on CodesCracker. |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |