C语言用for求水仙花数
时间: 2024-11-03 17:20:41 浏览: 14
C语言:用程序求水仙花数
在C语言中,水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
以下是使用for循环计算水仙花数的一个简单示例:
```c
#include <stdio.h>
int is_armstrong_number(int num) {
int original_num, remainder, sum = 0;
original_num = num;
while (original_num != 0) {
remainder = original_num % 10; // 取最后一位
sum += remainder * remainder * remainder; // 立方并累加
original_num /= 10; // 移除最后一位
}
if (num == sum)
return 1; // 如果相等,就是水仙花数
else
return 0; // 否则不是
}
void find_pythagorean_triplet() {
for (int i = 100; i >= 10; i--) { // 遍历从100到99的每位数
if (is_armstrong_number(i)) { // 检查是否为水仙花数
printf("%d 是水仙花数。\n", i);
}
}
}
int main() {
find_pythagorean_triplet();
return 0;
}
```
这个程序会遍历100到99的所有三位数,对每个数检查是否是水仙花数,并打印出找到的结果。注意实际运行此程序可能会发现没有满足条件的水仙花数,因为水仙花数只有三个已知实例:153、370和371。
阅读全文