c语言程序求所有的水仙花数之和(水仙花数:三位数且各个位数上的立方和等于自身,例如:153=1**1*1+5*5*5+3*3*3,153就是水仙花数)
时间: 2024-06-28 12:01:02 浏览: 8
在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;
}
```
相关问题
C语言编程题 求所有的水仙花数之和(水仙花数:三位数且各个位数上的立方和等于自身,例如:153=1**1*1+5*5*5+3*3*3,153就是水仙花数)
在C语言中,你可以使用循环和条件判断来解决这个问题。这里是一个简单的示例代码,它会计算并返回所有三位数的水仙花数之和:
```c
#include <stdio.h>
int is narcissistic(int num) {
int sum = 0;
int temp = num;
while (temp != 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
return sum == num;
}
int sum_of_narcissistic_numbers(int start, int end) {
int sum = 0;
for (int i = start; i <= end; i++) {
if (is_narcissistic(i)) {
sum += i;
}
}
return sum;
}
int main() {
int start = 100, end = 999;
int result = sum_of_narcissistic_numbers(start, end);
printf("所有三位数水仙花数的和为: %d\n", result);
return 0;
}
```
在这个代码中:
- `is_narcissistic` 函数用于检查一个数字是否是水仙花数。
- `sum_of_narcissistic_numbers` 函数遍历从100到999的所有数字,并对水仙花数求和。
- 主函数中调用这个函数并输出结果。
如果你想运行这个程序,只需复制代码到一个C文件中,如`narcissistic_sum.c`,然后用`gcc`编译并运行:
```sh
gcc narcissistic_sum.c -o narcissistic_sum
./narcissistic_sum
```
执行后,它会输出所有三位数水仙花数的和。
求所以三位数的水仙花数之和c语言程序
三位数的水仙花数是指一个三位数的各位数字的立方和等于该数本身,例如153就是一个三位数的水仙花数(1^3 + 5^3 + 3^3 = 153)。
以下是一个求三位数水仙花数之和的C语言程序:
```c
#include <stdio.h>
int main() {
int i, num, sum = 0;
for (i = 100; i <= 999; i++) {
int a = i / 100; // 百位数
int b = (i / 10) % 10; // 十位数
int c = i % 10; // 个位数
if (a * a * a + b * b * b + c * c * c == i) {
sum += i;
}
}
printf("所有三位数的水仙花数之和为:%d\n", sum);
return 0;
}
```
该程序使用for循环遍历所有的三位数,然后使用数学方法分离出这个三位数的百位数、十位数和个位数。然后判断是否为水仙花数,并将符合条件的数累加到sum变量中。最后输出sum的值即为所有三位数的水仙花数之和。