编程,输出所有的水仙花数(水仙花数是一个三位数)。
时间: 2023-10-19 22:08:09 浏览: 68
水仙花数指的是一个三位数,该数的每个位上的数字的立方和等于该数本身。例如,153是一个水仙花数,因为1的立方加上5的立方加上3的立方等于153。
以下是Python代码,可以输出所有的水仙花数:
```python
for i in range(100, 1000):
# 将i拆分成百位、十位和个位数字
hundreds = i // 100
tens = (i // 10) % 10
ones = i % 10
# 判断是否为水仙花数
if i == hundreds**3 + tens**3 + ones**3:
print(i)
```
这段代码使用了一个for循环来遍历所有的三位数。然后,使用整除和取余操作来将数拆分成百位、十位和个位数字。最后,使用if语句来判断该数是否为水仙花数,并将其打印出来。
相关问题
编程,输出所有的水仙花数(水仙花数是一个三位数)C语言
#include <stdio.h>
int main() {
int num, digit1, digit2, digit3;
for(num=100; num<1000; num++) {
digit1 = num / 100; // 获取百位数
digit2 = (num / 10) % 10; // 获取十位数
digit3 = num % 10; // 获取个位数
if(num == digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3) {
printf("%d\n", num); // 输出水仙花数
}
}
return 0;
}
用c语言编程输出三位数的水仙花数。
好的,以下是用 C 语言编写的输出三位数的水仙花数的程序:
```c
#include <stdio.h>
int main() {
int i, num, sum;
printf("三位数的水仙花数有:\n");
for (i = 100; i <= 999; i++) {
sum = 0;
num = i;
while (num != 0) {
int digit = num % 10;
sum += digit * digit * digit;
num /= 10;
}
if (sum == i) {
printf("%d ", i);
}
}
return 0;
}
```
程序中使用了 for 循环遍历每一个三位数,然后使用 while 循环计算该数各个位上数字的立方和,最后判断该数是否等于立方和,如果是,则输出该数。