Check if a number is an Armstrong number or not in C++
hello everyone,
In this tutorial, we learn about How to check if a number is an Armstrong number or not, with the help of c++.
before we start, let’s know about what is Armstrong number or how can we say that this is an Armstrong number?
Armstrong number is a number if the sum of the cubes of its digits is equal to the number itself.
let’s see an example:
153 = 1 *1 *1 + 5*5*5 + 3*3*3
= 1 + 125 + 27
= 153
So, 153 is an Armstrong number, because the result is equal to the number itself.
lets see another example also,
371 = 3*3*3 + 7*7*7 + 1*1*1
= 27 + 343 + 1
= 371
How to check if a number is an Armstrong number or not in C++
let’s see the code snippet:
#include<iostream> using namespace std; int main () { int num, temp, rem, sum = 0; cout << "Enter a number: "; cin >> num; temp = num; while (temp != 0) { rem = temp % 10; sum = sum + rem*rem*rem; temp = temp / 10; } if (sum == num) cout << " It is an Armstrong number."; else cout << " It is not an Armstrong number."; return 0; }
in the above piece of code, iostream is used for input /output stream, int main() tells the compiler that function will return an integer value.
A number which is entered by the user is stored in the variable num, we store num into temp for using later in the program,
while (temp != 0)
- it is used to find the number of digits in a given number.
if (sum == num)
- it is used to check whether the sum is equal to the number or not.
rem = temp % 10;
- rem stores every individual digit of that number which is entered by the user
temp = temp / 10;
- Every time temp divided by 10 and the outcome will store in temp if temp becomes zero the loop will be ended.
output: Enter a number: 371 It is an Armstrong number.
Do let me know in the comments section if you have any doubts.
Also read:
Leave a Reply