使用for语句求水仙花数
时间: 2024-10-28 10:12:17 浏览: 16
水仙花数(Narcissistic number)是指一个n位正整数等于其各个位数字的n次幂之和。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
使用 `for` 循环来寻找水仙花数,你可以遍历从最小的三位数到最大的三位数,检查每个数是否满足条件。以下是一个简单的 C 语言代码示例:
```c
#include <stdio.h>
// 检查一个数是否为水仙花数
int isNarcissistic(int num) {
int digits[4]; // 用于存储每一位数字
int sum = 0;
int len = 0;
while (num > 0) {
digits[len] = num % 10; // 取个位
sum += digits[len] * digits[len] * digits[len];
num /= 10;
len++;
}
return sum == num; // 如果和等于原数,则是水仙花数
}
int main() {
for (int i = 100; i <= 999; i++) { // 从100开始到999
if (isNarcissistic(i)) {
printf("%d 是一个水仙花数.\n", i);
}
}
return 0;
}
```
在这个程序中,我们首先定义了一个 `isNarcissistic` 函数,用于检查给定的数字是否是水仙花数。然后在主循环中,逐个测试从100到999之间的数字,如果找到水仙花数就输出它。
阅读全文