求出所有的水仙花数。C语言
时间: 2023-08-24 09:08:23 浏览: 40
水仙花数是指一个n位数(n≥3)它的每个位上的数字的n次幂之和等于它本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。以下是使用C语言求解所有三位数水仙花数的代码示例:
```c
#include <stdio.h>
int main() {
int i, j, k;
for (i = 1; i <= 9; ++i) {
for (j = 0; j <= 9; ++j) {
for (k = 0; k <= 9; ++k) {
int num = i * 100 + j * 10 + k;
int sum = i * i * i + j * j * j + k * k * k;
if (num == sum) {
printf("%d\n", num);
}
}
}
}
return 0;
}
```
在这个代码中,我们使用了三层嵌套的循环来枚举所有的三位数,然后计算其是否是水仙花数。对于每个三位数,我们可以将其拆分为三个数字,并计算出其各位数字的立方和,如果等于原数,则说明是水仙花数,将其输出即可。
相关问题
用c语言求出所有水仙花数
水仙花数是指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为$1^3+5^3+3^3=153$。
以下是用C语言编写的求解所有水仙花数的程序:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int i, j, k, n, sum;
printf("所有的水仙花数为:\n");
for (n = 100; n <= 999; n++) {
i = n / 100; // 分解百位数
j = (n / 10) % 10; // 分解十位数
k = n % 10; // 分解个位数
sum = pow(i, 3) + pow(j, 3) + pow(k, 3); // 计算每个位上数字的立方和
if (n == sum) {
printf("%d ", n);
}
}
return 0;
}
```
程序运行结果:
```
所有的水仙花数为:
153 370 371 407
```
输出所有水仙花数c语言
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。以下是C语言代码实现输出所有水仙花数:
```
#include <stdio.h>
int main() {
printf("输出水仙花数:\n");
int i, a, b, c;
for (i = 100; i <= 999; i++) {
a = i % 10;//个位数
b = (i / 10) % 10;//十位数
c = i / 100;//百位数
if (i == a * a * a + b * b * b + c * c * c) {
printf("%d\t", i);
}
}
return 0;
}
```
输出结果为:153 370 371 407。如果您想了解更多关于C语言的知识,可以在评论中提出,我会尽力回答您的问题。