Find Armstrong number in C++ with logic explanation and code dry run

Find Armstrong number in C++ with logic explanation and code dry run
Di Posting Oleh : Simple Learning
Kategori : Armstrong number code dry run with sample input. Armstrong number code in c++ Armstrong number logic c++ program to find Armstrong number in c++ find Armstrong number in c++

What is Armstrong number?
A number in which the sum of cube of its individual digits is equal to the number itself is called Armstrong number
For Example: 1^3 + 5^3 + 3^3 = 153
4 * 4 * 4 + 0 * 0 * 0 + 7 * 7 * 7 = 407 is an Armstrong number.


C++ program which takes input a number and check whether it is Armstrong Number or not



  #include<iostream>
  using namespace std;
  int main()
  {
  int armstrong=0,num=0,result=0,check;
  cout<<"Enter Number to find it is an Armstrong number?";
       cin>>num;
       check=num;
       for(int i=1;num!=0;i++){
           armstrong=num%10;
           num=num/10;
           armstrong=armstrong*armstrong*armstrong;
           result=result+armstrong;
       }
       if(result==check){
       cout<<check<<"  is an Armstrong Number";
       }
       else{
       cout<<check<<"  is NOT an Armstrong Number";
       }
       return 0;
    }



Note: Program can be coded in more than one ways above program is very simple so any one can understand the logic of program.

Recommended: Change program logic and do experiment with it for fast learning.

Image view of the program click on image to view large
Armstrong number code in c++ programming
Find Armstrong number in c++ code


Logic Explanation:

Concept Used:  for loop, if-else statement
  • To make logic firstly concept about Armstrong number should be very clear
  • We took some variables in which we take input, make calculations and produce results
  • Program take input number in variable num and store it in check variable
  • In for loop we take mod of num with 10 and stores it in variable Armstrong then we divide it with 10(below dry running will make more clear the working)
  • Then we take cubes of Armstrong variable and add it into result variable
  • When num=0; then for loop break after for loop using if else statement we test if our result equals to check variable then number is Armstrong else not.

Dry Running The Armstrong number Code:

Let input is equal to 153 

variable values before for loop
num=153; check=153; Armstrong=0; result=0;
variable values in for loop line by line
for i=1
Armstrong=3;
 num=15;
Armstrong=3*3*3=27 
result=0+27=27;

for loop condition check: num is not equal to zero loop will run again

for i=2
Armstrong=5;
num=1;
Armstrong=5*5*5=125 
result=27+125=152;

for loop condition: num is not equal to zero loop will run again

for i=3
Armstrong=1;
num=0;
Armstrong=1*1*1=1; 
result=152+1=153;


for loop condition: num is EQUAL TO ZERO loop will run again

Loop will break and if else condition will be checked as or result=153 and check=153 

0 Response to "Find Armstrong number in C++ with logic explanation and code dry run"

Post a Comment