从键盘输入一个三位正整数,判断它是否为水仙花数,水仙花数 指一个3位数,它的各位数字立方和等于该数本身,若该数是水仙花数,存入列表,最后输出统计完成的列表。
时间: 2024-01-07 21:03:22 浏览: 81
好的,这个问题需要用到循环和条件判断语句,下面是Python的代码实现:
```
result_list = [] # 用于存储水仙花数的列表
for num in range(100, 1000):
# 将三位数拆分出个位、十位、百位
a = num // 100 # 百位数
b = num // 10 % 10 # 十位数
c = num % 10 # 个位数
# 判断是否为水仙花数
if a**3 + b**3 + c**3 == num:
result_list.append(num)
print("水仙花数有:", result_list)
```
在上面的代码中,我们通过一个for循环遍历100到999之间的所有三位数,然后将每个三位数拆分出其百位数、十位数和个位数,根据水仙花数的定义判断该数是否为水仙花数,如果是就将其添加到结果列表中。最后输出结果列表即可。
你可以自己试着运行一下这个程序,看看输出结果是否正确。
相关问题
编写程序,从键盘输入任意一个3位正整数,判断是否"水仙花数"。若是水仙花数,则输出"该三位数是水仙花数!",否则输出“该三位数不是水仙花数!”。 提示:所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。 例如:153是一个水仙花数,因为。用c语言写出
以下是C语言代码:
#include <stdio.h>
#include <math.h>
int main()
{
int num, originalNum, remainder, result = 0;
printf("请输入一个3位正整数:");
scanf("%d", &num);
originalNum = num;
while (originalNum != 0)
{
remainder = originalNum % 10;
result += pow(remainder, 3);
originalNum /= 10;
}
if (result == num)
printf("%d是水仙花数!", num);
else
printf("%d不是水仙花数!", num);
return 0;
}
运行结果示例:
请输入一个3位正整数:153
153是水仙花数!
C语言:编写程序,从键盘输入任意一个3位正整数,判断是否"水仙花数"。若是水仙花数,则输出"该三位数是水仙花数!",否则输出“该三位数不是水仙花数!”。 提示:所谓"水仙花数"是指一3位数,其各位数字立方和等于该数本身。 例如:153是一个水仙花数,因为153=1+125+27。
以下是C知道的回答:
请看以下代码:
```c
#include <stdio.h>
int main() {
int num, digit1, digit2, digit3;
printf("请输入一个三位正整数:");
scanf("%d", &num);
digit1 = num / 100;
digit2 = (num / 10) % 10;
digit3 = num % 10;
if (num == digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3) {
printf("该三位数是水仙花数!\n");
} else {
printf("该三位数不是水仙花数!\n");
}
return 0;
}
```
如果输入的数字是水仙花数,程序会输出"该三位数是水仙花数!",否则会输出"该三位数不是水仙花数!"。
阅读全文