C++ Program to Check Armstrong Number

You are Here:

What is Armstrong Number?

An Armstrong number of three digits is an integer such that the sum of the cubes of its digits is equal to the number itself.

For example, 153 is an armstrong number

153 = 13 + 53 + 33
153 = 1 + 125 + 27
153 = 153

Note: Each number is raised to the power of 3, because, the number of digits in 153 is 3.

Tips: It is recommended to use our online Armstrong Number calculator for better understanding.

Check Armstrong Number

In the following example, we will check whether the number 19 is an Armstrong number or not.

Example

C++ Compiler
#include <iostream> #include <cmath> using namespace std; int main() { int num = 19; int copyNum = num; int digits = 0; int remainder = 0; int total = 0; // find number of digits in num variable while(copyNum != 0) { digits++; copyNum = copyNum / 10; } copyNum = num; // slice the numbers from last digits while(copyNum != 0) { remainder = copyNum % 10; total += (int) pow(remainder, digits); copyNum = copyNum / 10; } // result if(num == total) cout << num << " is an armstrong number"; else cout << num << " is not an armstrong number"; return 0; }

Output

19 is not an armstrong number

Armstrong Numbers between the Given Range

In the following example, we will find all the Armstrong numbers between 1 and 200.

Example

C++ Compiler
#include <iostream> #include <cmath> using namespace std; int main() { int start = 1; int end = 200; int flag = 0; cout << "Armstrong numbers between " << start << " and " << end << ":\n"; for(start=start; start<=end; start++) { // find the number of digits in start variable int copyNum = start; int total = 0; int digits = 0; int remainder = 0; while(copyNum != 0) { digits++; copyNum = copyNum / 10; } copyNum = start; // slice the start variable from last digit while(copyNum != 0) { remainder = copyNum % 10; total += (int) pow(remainder, digits); copyNum = copyNum / 10; } // result if((start == total) && (start != 0)) { flag = 1; cout << start <<" "; } } if(flag == 0) cout << "There is no armstrong numbers"; return 0; }

Output

Armstrong numbers between 1 and 200: 1 2 3 4 5 6 7 8 9 153

Check Armstrong Number for any Given Number

In the following example, we will find whether the user entered number is an Armstrong number or not.

Example

C++ Compiler
#include <iostream> #include <cmath> using namespace std; int main() { int num; int digits = 0; int remainder = 0; int total = 0; cout << "Enter a (int) number: "; cin >> num; int copyNum = num; // find number of digits in num variable while(copyNum != 0) { digits++; copyNum = copyNum / 10; } copyNum = num; // slice the numbers from last digits while(copyNum != 0) { remainder = copyNum % 10; total += (int) pow(remainder, digits); copyNum = copyNum / 10; } // result if(num == total) cout << num << " is an armstrong number"; else cout << num << " is not an armstrong number"; return 0; }

Output

Enter a (int) number: 24 24 is not an armstrong number

Reminder

Hi Developers, we almost covered 90% of String functions and Interview Question on C++ with examples for quick and easy learning.

We are working to cover every Single Concept in C++.

Please do google search for:

Join Our Channel

Join our telegram channel to get an instant update on depreciation and new features on HTML, CSS, JavaScript, jQuery, Node.js, PHP and Python.

This channel is primarily useful for Full Stack Web Developer.

Share this Page

Meet the Author