求100-999的所有水仙花数。 水仙花数:其各位数字立方和等于该数字本身 如: 分析:从列表中取出一个数,分离出个位x,十位y,百位z,再求各位上的立方,看是否符合水仙花数;
时间: 2024-05-09 21:17:19 浏览: 32
水仙花数即为三位数中符合上述条件的数。
代码实现:
```python
for i in range(100, 1000):
x = i % 10
y = (i // 10) % 10
z = i // 100
if i == x ** 3 + y ** 3 + z ** 3:
print(i)
```
输出结果:
```
153
370
371
407
```
相关问题
求解100-999的水仙花数。所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 输出符合条件水仙花数,同时输出穷举法次数。Python
下面是Python代码:
count = 0
for i in range(100, 1000):
a = i // 100
b = (i // 10) % 10
c = i % 10
if i == a**3 + b**3 + c**3:
print(i)
count += 1
print("穷举法次数:", count)
输出结果:
153
370
371
407
穷举法次数: 900
c语言输出100-999中所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身的流程图
以下是C语言输出100-999中所有的“水仙花数”的流程图:
```flow
st=>start: 开始
op1=>operation: 从100到999循环
op2=>operation: 取出当前数的百位、十位、个位
op3=>operation: 计算当前数的各位数字立方和
cond=>condition: 判断各位数字立方和是否等于当前数
op4=>operation: 输出当前数
e=>end: 结束
st->op1->op2->op3->cond
cond(yes)->op4->op1
cond(no)->op1
```
C语言代码如下:
```c
#include <stdio.h>
#include <math.h>
int main() {
int i, j, k, num;
for (int a = 100; a < 1000; a++) {
i = a / 100;
j = a % 100 / 10;
k = a % 100 % 10;
num = pow(i, 3) + pow(j, 3) + pow(k, 3);
if (num == a) {
printf("%d\n", a);
}
}
return 0;
}
```
阅读全文