c语言程序求所有的水仙花数之和(水仙花数:三位数且各个位数上的立方和等于自身,例如:153=1**1*1+5*5*5+3*3*3,153就是水仙花数)
时间: 2024-06-28 10:01:02 浏览: 103
输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。
在C语言中,你可以使用循环和条件判断来求所有三位水仙花数的和。以下是一个简单的示例代码片段:
```c
#include <stdio.h>
#include <math.h>
int main() {
int start = 100; // 从100开始,因为是三位数
int end = 999; // 一直到999结束
long sum = 0; // 初始化和为0
for (int i = start; i <= end; ++i) {
int digits; // 临时数组存储每一位数字
int num = i;
for (int j = 0; j < 3; ++j) {
digits[j] = num % 10; // 取余数得到每一位
num /= 10; // 移除最后一位
}
if (digits * digits * digits + digits * digits[1] * digits + digits * digits * digits == i) {
sum += i; // 如果是水仙花数,加到总和上
}
}
printf("所有三位水仙花数的和为:%ld\n", sum);
return 0;
}
```
阅读全文