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. Shreetej Parkar

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

    Reply
    1. Neeraj Mishra

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

      Reply
    2. Harshita Dhingra

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

      Reply
      1. Admin Post author

        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

        Reply
  2. Amit Khatri

    #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?

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *