编写一个程序,输入一个正整数N(N大于等于100小于等于999),求出100~N之间的所有水仙花数。所谓 的水仙花数是:如果一个三位数的个位数、十位数、百位数的立方和等于该数自身,就称这个数为水仙花数。
时间: 2024-02-12 14:04:44 浏览: 43
好的,这是一个简单的求水仙花数的问题。以下是 Python 代码实现:
```python
n = int(input("请输入一个正整数N(100 <= N <= 999):"))
for i in range(100, n + 1):
# 取出个位、十位、百位数字
a = i // 100
b = (i // 10) % 10
c = i % 10
# 判断是否为水仙花数
if i == a**3 + b**3 + c**3:
print(i)
```
输入一个正整数 N 后,程序会从 100 开始遍历到 N,对于每个数,将其拆分为个位、十位、百位数字,然后判断是否为水仙花数。如果是,就输出这个数。
相关问题
编写一个程序,输入一个正整数N(N大于等于100小于等于999),求出100~N之间的所有水仙花数。
好的,这个问题很简单,以下是代码:
```python
n = int(input("请输入一个正整数N(100<=N<=999):"))
if n < 100 or n > 999:
print("输入有误!")
else:
for i in range(100, n+1):
a = i // 100
b = i // 10 % 10
c = i % 10
if a ** 3 + b ** 3 + c ** 3 == i:
print(i, end=' ')
```
这段代码可以求出100到N之间所有的水仙花数,并将它们输出。
用Java编写一个程序,输入一个正整数N(N大于等于100小于等于999),求出100~N之间的所有水仙花数。
好的,我可以回答这个问题。以下是Java程序的代码:
import java.util.Scanner;
public class NarcissisticNumber {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个正整数N(N大于等于100小于等于999): ");
int n = input.nextInt();
System.out.println("100~" + n + "之间的所有水仙花数为:");
for (int i = 100; i <= n; i++) {
int a = i / 100;
int b = (i / 10) % 10;
int c = i % 10;
if (i == a * a * a + b * b * b + c * c * c) {
System.out.print(i + " ");
}
}
}
}
阅读全文