Armstrong number program
In this post, you will learn how to write program in different languages to check whether a given number is Armstrong or not.
A number is called an Armstrong number if the sum of its cubes of digits is equal to the number itself. It is also known as the narcissistic number. To lay it out simply, assuming we have a 3-digit number, then each of the digits is raised to the power of three and added to get a number. If the number obtained equals the original number, we call that an Armstrong number. In number theory, we can say an Armstrong number in a given number base b is a number that is the sum of its own digits, each raised to the power of the number of digits.
Formula to check Armstrong number
A positive number of n digits is called an Armstrong number of order n-
abcde.... = an + bn + cn + dn + en +
The following example demonstrates why 371 is an Armstrong number.
371 = (3*3*3)+(7*7*7)+(1*1*1)
where:
(3*3*3)=27
(7*7*7)=343
(1*1*1)=1
So:
27+343+1 = 371
C program to check Armstrong number using while loop
In the given C program, we have taken input from the user and stored it in a variable num. Next, we have split all the digits of the num and found the cube value of the digits. Then, we added all the cube values together and saved the output to the variable sum. If the sum equals to num, then the num is an Armstrong number, and if the sum is not equals to num, then the num is not an Armstrong number.
// C program to find Armstrong number
#include <stdio.h>
int main() {
int num, orgnum, remainder, sum = 0;
// getting input from user
// and store in a variable
printf("Enter a three-digit number: ");
scanf("%d", &num);
orgnum = num;
// Here, we are adding cubes of
// every digit and storing the sum
// in a variable
while (orgnum != 0) {
// remainder contains the last digit
remainder = orgnum % 10;
sum += remainder * remainder * remainder;
// removing last digit from the original number
orgnum /= 10;
}
// check, if sum of cubes of every digit is
// equal to number itself, then the number
// is armstrong
if (sum == num)
printf("%d is an Armstrong number.", num);
else
printf("%d is not an Armstrong number.", num);
return 0;
}
Output of the above code -
Enter a three-digit number: 370
370 is an Armstrong number.
Enter a three-digit number: 154
154 is not an Armstrong number.
Enter a three-digit number: 153
153 is an Armstrong number.
C++ program to check Armstrong number using while loop
#include <iostream>
using namespace std;
int main() {
int num, orgnum, remainder, sum = 0;
cout << "Enter a three-digit integer: ";
cin >> num;
orgnum = num;
while (orgnum != 0) {
// remainder contains the last digit
remainder = orgnum % 10;
// Here, we are adding cubes of
// every digit and storing the sum
// in a variable
sum += remainder * remainder * remainder;
// removing last digit from the original number
orgnum /= 10;
}
if (sum == num)
cout << num << " is an Armstrong number.";
else
cout << num << " is not an Armstrong number.";
return 0;
}
Output of the above code:
Enter a three-digit integer: 341
341 is not an Armstrong number.
Enter a three-digit integer: 370
370 is an Armstrong number.
Java program to check Armstrong number using while loop
public class ArmstrongNumber {
public static void main(String[] args) {
int number = 371, orgnum, remainder, sum = 0;
orgnum = number;
while (orgnum != 0)
{
remainder = orgnum % 10;
sum += Math.pow(remainder, 3);
orgnum /= 10;
}
if(sum == number)
System.out.println(number + " is an Armstrong number.");
else
System.out.println(number + " is not an Armstrong number.");
}
}
Output of the above code:
371 is an Armstrong number.
Python program to check Armstrong number using while loop
# Python program to check
# if the number is an Armstrong number or not
# take input from the user
num = int(input("Enter a number: "))
sum = 0
# finding the sum of the cube of each digit
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
# display the result
if num == sum:
print(num,"is an Armstrong number")
else:
print(num,"is not an Armstrong number")
Output of the above code:
Enter a number: 407
407 is an Armstrong number
Related Articles
Java program to find area of triangleArea of circle program in Java
Remove duplicate elements from array in Java
Capitalize first letter of each word Java
Convert binary to decimal in Java
Convert array to list Python
Python take screenshot of specific window
Web scraping Python BeautifulSoup
Check if two strings are anagrams Python
Python program to add two numbers
Print new line python
Prime factors of a number in c
Armstrong number program in c
Write a program to check leap year in c
C program to find area of rectangle
C program to convert celsius to fahrenheit
Fibonacci series program in C using recursion
Write a program to find area of circle in C
C program to convert Decimal to Octal
C program to convert decimal to binary
C program to check whether a number is even or odd