用java写一个200以内的水仙花数列
时间: 2023-02-19 15:14:52 浏览: 65
答案:public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 200; i++) {
int hundred = i / 100;
int ten = (i - hundred * 100) / 10;
int bit = i - hundred * 100 - ten * 10;
if (Math.pow(hundred, 3) + Math.pow(ten, 3) + Math.pow(bit, 3) == i) {
System.out.println(i);
}
}
}
}
相关问题
用java写一个n位水仙花数
好的,我可以回答这个问题。以下是用 Java 写一个 n 位水仙花数的代码:
```
import java.util.Scanner;
public class NarcissisticNumber {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入 n 的值:");
int n = input.nextInt();
int start = (int) Math.pow(10, n - 1);
int end = (int) Math.pow(10, n) - 1;
for (int i = start; i <= end; i++) {
int sum = 0;
int temp = i;
while (temp != 0) {
int digit = temp % 10;
sum += Math.pow(digit, n);
temp /= 10;
}
if (sum == i) {
System.out.print(i + " ");
}
}
}
}
```
这个程序可以找出所有 n 位水仙花数并输出。
用java写一个水仙花
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1³ + 5³ + 3³ = 153。
以下是用 Java 编写判断一个数是否为水仙花数的代码示例:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
int num = 153;
int digit1 = num / 100; // 获取百位数字
int digit2 = (num / 10) % 10; // 获取十位数字
int digit3 = num % 10; // 获取个位数字
int sum = digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3; // 求立方和
if (sum == num) {
System.out.println(num + "是一个水仙花数");
} else {
System.out.println(num + "不是一个水仙花数");
}
}
}
```
在上述代码中,首先定义一个整数变量 num,表示要判断的数是多少。然后,分别使用除法和取模运算获取该数的百位、十位和个位数字,并计算它们的立方和。最后,使用 if-else 语句判断是否为水仙花数,并输出相应的结果。