Examples:
7 = 7^1
371 = 3^3 + 7^3 + 1^3 (27 + 343 +1)
8208 = 8^4 + 2^4 +0^4 + 8^4 (4096 + 16 + 0 + 4096).
1741725 = 1^7 + 7^7 + 4^7 + 1^7 + 7^7 + 2^7 +5^7 (1 + 823543 + 16384 + 1 + 823543 +128 + 78125)
7 = 7^1
371 = 3^3 + 7^3 + 1^3 (27 + 343 +1)
8208 = 8^4 + 2^4 +0^4 + 8^4 (4096 + 16 + 0 + 4096).
1741725 = 1^7 + 7^7 + 4^7 + 1^7 + 7^7 + 2^7 +5^7 (1 + 823543 + 16384 + 1 + 823543 +128 + 78125)
#include <stdio.h>
int power(int, int);
int main()
{
int n, sum = 0, t, remainder, digits = 0;
{
int n, sum = 0, t, remainder, digits = 0;
printf("Input an integer\n");
scanf("%d", &n);
scanf("%d", &n);
t = n;
// Count number of digits
while (t != 0) {
digits++;
t = t/10;
}
// Count number of digits
while (t != 0) {
digits++;
t = t/10;
}
t = n;
while (t != 0) {
remainder = t%10;
sum = sum + power(remainder, digits);
t = t/10;
}
remainder = t%10;
sum = sum + power(remainder, digits);
t = t/10;
}
if (n == sum)
printf("%d is an Armstrong number.\n", n);
else
printf("%d isn't an Armstrong number.\n", n);
printf("%d is an Armstrong number.\n", n);
else
printf("%d isn't an Armstrong number.\n", n);
return 0;
}
}
int power(int n, int r) {
int c, p = 1;
int c, p = 1;
for (c = 1; c <= r; c++)
p = p*n;
p = p*n;
return p;
}
}
Output of program:

C program to check Armstrong number using function
We will use long long data type in our program so that we can check numbers up to 2^64-1.
#include <stdio.h>
int check_armstrong(long long);
long long power(int, int);
long long power(int, int);
int main () {
long long n;
long long n;
printf("Input a number\n");
scanf("%lld", &n);
scanf("%lld", &n);
if (check_armstrong(n) == 1)
printf("%lld is an armstrong number.\n", n);
else
printf("%lld isn't an armstrong number.\n", n);
printf("%lld is an armstrong number.\n", n);
else
printf("%lld isn't an armstrong number.\n", n);
return 0;
}
}
int check_armstrong(long long n) {
long long sum = 0, t;
int remainder, digits = 0;
long long sum = 0, t;
int remainder, digits = 0;
t = n;
while (t != 0) {
digits++;
t = t/10;
}
digits++;
t = t/10;
}
t = n;
while (t != 0) {
remainder = t%10;
sum = sum + power(remainder, digits);
t = t/10;
}
remainder = t%10;
sum = sum + power(remainder, digits);
t = t/10;
}
if (n == sum)
return 1;
else
return 0;
}
return 1;
else
return 0;
}
long long power(int n, int r) {
int c;
long long p = 1;
int c;
long long p = 1;
for (c = 1; c <= r; c++)
p = p*n;
p = p*n;
return p;
}
}
An output of the program:
Input a number
35641594208964132
35641594208964132 is an Armstrong number.
35641594208964132
35641594208964132 is an Armstrong number.
No comments:
Post a Comment