Armstrong number in C

What is an Armstrong number?

An Armstrong number in C or in any language is a number that is equal to the sum of digits that is raised to the power of number  of digits in the number. In simple terms if a three digit number is Armstrong number only if the sum of individual’s cube is equal to the original number itself.

armstrong-number

Syntax:

A general representation of Armstrong number in C
abcd... = an + bn + cn + dn + 

Syntax:

Visual representation of Armstrong number with 3 digits
254 = 2*2*2 + 5*5*5 + 4*4*4 

Algorithm:

  • Step 1: Start
  • Step 2: Initialize and declare the variable current_pointer, sum=0 and num=number.
  • Step 3: Read 3 digit integer input from the user.
  • Step 4:Do step 5 to 7 until num>0.
  • Step5:current_pointer=(num%10)
  • Step 6: sum=sum(current_pointer*current_pointer*current_pointer)
  • Step 7: num=number/10
  • Step 8: Check if the sum==number
  • Step 9: If true then print”The number is an Armstrong number”.
  • Step 10: Else print” Number is not an Armstrong number”.
  • Step 11: End.

Working:

In these program we will learn how to check if a number is Armstrong number or not.

Example 1 to check Armstrong number in C:

Program where the number is predefined and checked if it is Armstrong number or not.

Run
#include<stdio.h>
#include<math.h>
int isArmstrong(int number)
{
    int current_digit, sum = 0, num = number, number_of_digits;
    while (num > 0)
    {
        current_digit = num % 10;
        sum = sum + pow(current_digit, 3);
        num = num / 10;
    }
    if (sum == number) 
    {
        return 1;
    } 
    else
    {
        return 0;
    }
}
int main() 
{
    int n= 371, isArmstrongNumber;
    isArmstrongNumber = isArmstrong(n);
    if (isArmstrongNumber == 1) 
    {
        printf("%d is an Armstrong Number.", n);
    } 
    else
    {
    printf("%d is not an Armstrong Number.", n);
    }
    return 0;
}

Output:

371 is an Armstrong Number.

Example 2 to check Armstrong number in C:

Program to check a three digit number taken as input from the user to check if it is Armstrong number or not.

Run
#include<stdio.h>
int main()
{
    int n, Num, rem, result = 0;
    printf("Enter a three-digit integer: ");
    scanf("%d", &n);
    Num = n;
    while (Num != 0)
    {
        rem = Num % 10;
        result += rem * rem * rem;
        Num /= 10;
    }
    if (result == n)
        printf("%d is an Armstrong number.", n);
    else
        printf("%d is not an Armstrong number.", n);
    return 0;
}

Input:

Enter a three-digit integer: 371

Output:

371 is an Armstrong number.

Example 3 to check Armstrong number in C:

Program to check a  number taken as input from the user to check if it is Armstrong number or not.

Run
#include<stdio.h>
#include<math.h>
int main()
{
    int n, Num, remainder, i = 0;
    float result = 0.0;
    printf("Enter an integer: ");
    scanf("%d", &n);
    Num = n;
    for (Num = n; Num != 0; ++i)
    {
        Num /= 10;
    }
    for (Num = n; Num != 0; Num /= 10) 
    {
        remainder = Num % 10;
        result += pow(remainder, i);
    }
    if ((int)result == n)
        printf("%d is an Armstrong number.", n);
    else
        printf("%d is not an Armstrong number.", n);
    return 0;
}

Input:

Enter a three-digit integer: 1634

Output:

1634 is an Armstrong number.

Prime Course Trailer

Related Banners

Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription

Get over 200+ course One Subscription

Courses like AI/ML, Cloud Computing, Ethical Hacking, C, C++, Java, Python, DSA (All Languages), Competitive Coding (All Languages), TCS, Infosys, Wipro, Amazon, DBMS, SQL and others

Checkout list of all the video courses in PrepInsta Prime Subscription

Checkout list of all the video courses in PrepInsta Prime Subscription