本关任务:输入一个整数,判断其是水仙花数,还是四叶玫瑰数,或者都不是。 对每个输入,输出一行。如果是水仙花数,就输出narcissistic;如果是四叶玫瑰数,就输入rose;如果都不是,就输出neither。
时间: 2024-04-30 13:23:21 浏览: 20
水仙花数和四叶玫瑰数都是特殊的数,需要判断输入的整数是否为这些数。水仙花数是指一个三位数,其各个数位数字的立方和等于该数本身,例如153=1^3+5^3+3^3;四叶玫瑰数是指一个四位数,其各个数位数字的四次方和等于该数本身,例如9474=9^4+4^4+7^4+4^4。
因此,我们需要先将输入的整数拆分出各个数位,然后根据题目给出的判断条件进行判断,并输出相应的结果。
以下是Python代码实现:
```python
num = int(input()) # 输入整数
if 100 <= num <= 999: # 判断是否为三位数
a = num // 100 # 拆分百位数
b = (num // 10) % 10 # 拆分十位数
c = num % 10 # 拆分个位数
if num == a**3 + b**3 + c**3: # 判断是否为水仙花数
print("narcissistic")
else:
print("neither")
elif 1000 <= num <= 9999: # 判断是否为四位数
a = num // 1000 # 拆分千位数
b = (num // 100) % 10 # 拆分百位数
c = (num // 10) % 10 # 拆分十位数
d = num % 10 # 拆分个位数
if num == a**4 + b**4 + c**4 + d**4: # 判断是否为四叶玫瑰数
print("rose")
else:
print("neither")
else:
print("neither") # 不是三位数也不是四位数,输出neither
```
对于输入的整数,代码先判断其是三位数还是四位数,然后根据题目给出的判断条件进行判断,并输出相应的结果。如果既不是三位数也不是四位数,则直接输出neither。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)