一个三位的十进制整数,如果它的三个数位的数字立方和等于这个数的数值则称,它为一个水仙数编写程序计算出某一范围内的所有水仙数。用c语言解答
时间: 2024-11-17 07:29:42 浏览: 50
在C语言中,我们可以编写一个简单的循环程序来找出指定范围内所有的水仙数。水仙数是指一个三位数,其各位数字立方之和等于该数本身。以下是创建一个函数来检查并打印这些数的示例:
```c
#include <stdio.h>
#include <stdbool.h>
// 函数来判断是否为水仙数
bool isAquarius(int num) {
int digits[3];
// 提取每一位数字
digits[0] = num % 10;
digits[1] = (num / 10) % 10;
digits[2] = num / 100;
// 计算每位数字的立方和
int sum_of_cubes = digits[0]*digits[0]*digits[0] + digits[1]*digits[1]*digits[1] + digits[2]*digits[2]*digits[2];
// 比较立方和是否等于原数
return sum_of_cubes == num;
}
int main() {
int start = 100; // 范围起始值
int end = 999; // 范围结束值
printf("Waterfall numbers in the range %d to %d:\n", start, end);
for (int i = start; i <= end; ++i) {
if (isAquarius(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
在这个程序中,我们首先定义了一个 `isAquarius` 函数,用于检查输入的三位数是否是水仙数。然后在主函数 `main` 中,我们遍历给定范围内的每个数,并通过 `isAquarius` 函数测试它们。
阅读全文