代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
int isArmstrong(int num) {
int n = 1;
int temp = num;
while (temp / 10)//目的是确定输入数字的位数,便于确定次数n的值
{
n++;
temp = temp / 10;
}
temp = num;
int sum = 0;
while (temp)
{
sum += pow(temp % 10, n);
temp = temp / 10;
}
if (sum == num) {
return 1;
}
else {
return 0;
}
}
int main()
{
for (int num = 0; num <= 100000; num++) {
if (isArmstrong(num)) {
printf("%d\n", num);
}
}
return 0;
}
结果