输出所有的水仙花数
时间: 2023-09-07 14:14:35 浏览: 50
水仙花数是指一个 n 位正整数 (n≥3),它的每个位上的数字的 n 次幂之和等于它本身。例如,153 是一个水仙花数,因为 1³+5³+3³=153。
下面是 C 语言程序,用于输出所有的 3 位水仙花数:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int i, a, b, c, sum;
printf("所有的水仙花数为:\n");
for (i = 100; i < 1000; i++)
{
a = i / 100; // 分离出百位
b = (i / 10) % 10; // 分离出十位
c = i % 10; // 分离出个位
sum = pow(a, 3) + pow(b, 3) + pow(c, 3); // 计算立方和
if (sum == i) // 如果满足水仙花数定义
{
printf("%d\n", i);
}
}
return 0;
}
```
程序中,我们使用了 `for` 循环遍历所有的 3 位数,然后分离出每个数的百位、十位和个位,计算它们的立方和,并判断是否满足水仙花数的定义。如果满足条件,则输出该数。需要注意的是,我们使用了 `pow` 函数来计算指数,该函数需要在 `math.h` 头文件中声明。
相关问题
输出所有水仙花数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语言的知识,可以在评论中提出,我会尽力回答您的问题。
python输出所有水仙花数
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。以下是Python代码输出所有水仙花数:
```python
for num in range(100, 1000):
# 分离出个十百位
digit1 = num // 100
digit2 = (num // 10) % 10
digit3 = num % 10
# 判断是否为水仙花数
if num == digit1 ** 3 + digit2 ** 3 + digit3 ** 3:
print(num)
```
这段代码首先使用 `range` 函数生成所有的三位数,然后通过取整运算符 `//` 和取模运算符 `%` 分离出每个数的个位、十位和百位数字。接着,判断这个数字是否等于它的各位数字的立方和,如果是,就将它输出。