c语言求1-20000内的水仙花数
时间: 2024-04-23 20:28:20 浏览: 72
以下是使用C语言编写的求解1-20000内的水仙花数的程序:
```c
#include <stdio.h>
#include <math.h>
int isArmstrong(int num) {
int originalNum = num;
int n = 0;
int result = 0;
// 计算位数
while (originalNum != 0) {
originalNum /= 10;
n++;
}
originalNum = num;
// 计算每个位上数字的n次幂之和
while (originalNum != 0) {
int remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
// 判断是否为水仙花数
if (result == num) {
return 1;
} else {
return 0;
}
}
int main() {
int start = 1;
int end = 20000;
printf("水仙花数:");
for (int i = start; i <= end; i++) {
if (isArmstrong(i)) {
printf("%d ", i);
}
}
return 0;
}
```
这段代码会输出1-20000范围内的水仙花数。希望对您有帮助!
阅读全文