Armstrong Number in C
Table of contents
If you're studying CS in a university then you probably have C in your course and its a very fundamental programming language which played a very important role in the development of the modern world.
As a beginner, you're supposed to solve various programming questions in your undergrad which are about math topics or some programming specific topics.
One of them is Armstrong Number
What is Armstrong Number?
Armstrong Number is basically a number whose sum of cubes is the original number
Let's consider 153.
Now if we cube its digits and add them, we get 153 again.
Such numbers are called Armstrong Numbers and now let's see how we can implement them in C.
Implementation
As usual, let us begin with the basic C programming structure.
#include <stdio.h>
int main(){
}
Now let us declare 4 Integer variables necessary for this program inside the main function.
#include <stdio.h>
int main(){
int n,rem,arm,old;
}
Here,
Variable | Purpose |
n | Number |
rem | Remainder |
arm | Armstrong Number |
old | Original Number |
Now let us declare n=153
and arm =0
.
Also assign the value of old
to n
.
n = 153;
arm =0;
old = n;
Now lets open a while
loop with n!=0
as condition. The condition keeps running until n
is not equal to 0
.
while(n!=0){
}
Now use the %
operator on 10 and equate it to rem
like this
rem = n % 10;
Now to find the armstrong number, we have to cube the digits like this
arm = arm + rem*rem*rem;
Let us end the loop by dropping a n=n/10
n = n/10;
Now our while
loop block looks something like this
while(n!=0){
rem = n % 10;
arm = arm + rem*rem*rem;
n=n/10;
}
Now we have to check if the armstrong number variable is equal to the original number old
, we do this using if...else
block.
We throw the checking condition in the if
block and if it doesn't work out, we send the program to the else
part.
if (arm==old){
printf("Armstrong");
}
else{
printf("Not armstrong");
}
Now run the code and you will notice the output as Armstrong
, indicating that the given number is an armstrong number.
Full Code
#include <stdio.h>
int main() {
int n,i,rem,arm,old;
n = 153;
arm =0;
old = n;
while(n!=0){
rem = n % 10;
arm = arm + rem*rem*rem;
n=n/10;
}
if (arm==old){
printf("Armstrong");
}
else{
printf("Not armstrong");
}
}
Conclusion
Now that's how we implement an armstrong number in C, hope you've learnt something new.
Follow my blog for more content like this.
Subscribe to my newsletter
Read articles from Aryan K directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Aryan K
Aryan K
I'm a blogger, tech enthusiast and a novice programmer