# Program for Armstrong Number in C++

Here you will get program for armstrong number in C++.

A number whose sum of digits raised to power n is equal to itself is called armstrong number. Here n is the total digits in the number.

For example, 153 is armstrong number as 153 = 1+ 5+ 33 = 1 + 125 +27.

## Program for Armstrong Number in C++

Output

Enter any number: 7
The given number is an armstrong number

### 15 thoughts on “Program for Armstrong Number in C++”

1. Thanks man your programs helps me a lot in my homework.

1. Your welcome bro, keep visiting!! 🙂

2. Shreetej Parkar

there is a fault as wen 1%10, x will become 10 and m will be +1000 rather than +1

1. The logic is absolutely correct, 1%10 = 1. You are telling wrong logic. Just run the program, it is working fine.

2. Harshita Dhingra

Same problem!
This is not the right logic,you can check this by the no: 153

1. The logic is absolutely fine, I think there is some issue with codeblocks. When I run it in codeblocks it gives wrong output, but when I run it online the output is correct. Check this https://ideone.com/XElygr

3. is it also correct for any number more than 3 digits?

4. Thank you

5. Himanshu Bhardwaj

Good website easy for find out any sol.

6. neeraj can uhelp me doing vc++ programming

7. 8. Thanks. It did helped me.

9. #include
#include
using namespace std;

int cnt(int num){
int c=0;
while(num!=0){
num=num/10;
c++;
}
return c;
}

int chkArm(int base,int pwr){
int result,temp;

while(base!=0){
temp = base%10;
cout << " temp is — " << temp << endl;
result+=pow(temp,pwr);
cout << "result is — "<<result << endl;
base=base/10;
}
return result;
}
int main()
{
int num,c,result;

cout <>num;

c=cnt(num);

cout << "\nYou entered " << c << " digits." <<endl;

result = chkArm(num,c);

cout << "Result is : " << result << endl;
}

Can some one please tell me that is there any problem in my code ? or if is it correct why its not giving the correct result?

10. Superm program insimple way thankyou so much you help to us ..

11. Nice and Easy man
Keep going man