# Write C program to find Armstrong numbers between 1 to n

Topics

## Introduction

Write C program to find Armstrong numbers between 1 to n

## What is Armstrong number?

An Armstrong number is an n-digit number that is equal to the sum of the nth powers of its digits.

For Example: 407 = 43 + 03 + 73 = 64 + 0 + 343 = 407

```#include <stdio.h>
#include <math.h> //defines common mathematical functions

int main()
{
int lower, higher, i, temp1, temp2, remainder, n = 0, result = 0;

printf("Enter two numbers: ");
//Reading numbers from user
scanf("%d %d", &lower, &higher);

printf("Armstrong numbers between %d an %d are: ", lower, higher);
for(i = lower + 1; i < higher; ++i)
{
temp2 = i;
temp1 = i;

// number of digits calculation
while (temp1 != 0)
{
temp1 /= 10;
++n;
}

// result contains sum of nth power of its digits
while (temp2 != 0)
{
remainder = temp2 % 10;
result += pow(remainder, n);
temp2 /= 10;
}

// checking if number i is equal to the sum of nth power of its digits
if (result == i) {
printf("%d ", i);
}

// resetting the values to check Armstrong number for next iteration
n = 0;
result = 0;

}
return 0;
}```

# Result Write C program to find Armstrong numbers between 1 to n