用JAVA求出三位数中的水仙花数。 水仙花数的定义:一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身。(例如:153)
时间: 2023-11-16 13:03:57 浏览: 29
好的,以下是用Java代码实现求出三位数中的水仙花数:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int a = i / 100; // 百位数
int b = i / 10 % 10; // 十位数
int c = i % 10; // 个位数
if (Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3) == i) {
System.out.println(i);
}
}
}
}
```
运行结果为:
```
153
370
371
407
```
这些数就是三位数中的水仙花数。
相关问题
用Java写一个计算N位的水仙花数程序
### 回答1:
水仙花数是指一个三位数,它的各位数字的立方和等于其本身。例如,153是一个水仙花数,因为153=1^3+5^3+3^3。
下面是用 Java 来写一个计算 N 位的水仙花数的程序的代码示例:
```
public class NarcissisticNumber {
public static void main(String[] args) {
int n = 3; // N 位数的水仙花数,这里设置为 3 位数
for (int i = 100; i < 1000; i++) { // 因为是 3 位数,所以从 100 到 999 枚举
int a = i / 100; // 得到百位上的数字
int b = (i / 10) % 10; // 得到十位上的数字
int c = i % 10; // 得到个位上的数字
if (a*a*a + b*b*b + c*c*c == i) { // 如果是水仙花数,输出
System.out.println(i);
}
}
}
}
```
这段代码会枚举从 100 到 999 的数字,判断是否是 N 位的水仙花数,如果是就输出。
希望这个示例能帮到你!
### 回答2:
水仙花数是指一个N位数(N≥3),其各位上数字的N次方之和等于该数本身。下面是用Java编写的一个计算N位水仙花数的程序:
```java
import java.util.Scanner;
public class NarcissisticNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入位数N:");
int n = scanner.nextInt();
scanner.close();
int start = (int) Math.pow(10, n-1); // 起始数,如3位数的起始数是100
int end = (int) Math.pow(10, n) - 1; // 终止数,如3位数的终止数是999
System.out.println(n + "位水仙花数有:");
for (int i = start; i <= end; i++) {
if (isNarcissisticNumber(i, n)) {
System.out.println(i);
}
}
}
// 判断一个数是否为N位水仙花数
public static boolean isNarcissisticNumber(int num, int n) {
int sum = 0;
int temp = num;
while (temp > 0) {
int digit = temp % 10; // 获取当前位的数字
sum += Math.pow(digit, n); // 求和
temp /= 10; // 去掉最低位
}
return num == sum;
}
}
```
用户输入位数N后,程序会计算出N位水仙花数的范围,然后逐个判断这些数是否为水仙花数,并输出结果。
### 回答3:
水仙花数是指一个N位数,其每个位上的数字的N次幂之和等于原数本身。现在我来编写一个用Java语言实现计算N位水仙花数的程序。
首先,我们需要用户输入N位数的位数N。接下来,我们定义一个循环从10的N-1次方开始,一直到10的N次方-1。循环中,我们取当前循环变量的每个位上的数字,进行N次幂运算并求和。然后,我们将计算出的和与当前循环变量进行比较,如果相等则输出该数。
下面是Java代码的实现:
```java
import java.util.Scanner;
public class NarcissisticNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入N位数的位数N:");
int N = scanner.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 num = i;
int sum = 0;
while (num != 0) {
int digit = num % 10;
sum += Math.pow(digit, N);
num /= 10;
}
if (sum == i) {
System.out.println(i);
}
}
}
}
```
用户运行程序后,程序会要求输入N位数的位数N。然后,程序会计算出所有N位水仙花数,并将其输出。
JAVA中所有三位数中的水仙花数
在Java中,所有的数字都是以十进制表示的,因此如果要表示水仙花数,需要先定义一个方法来计算数字的位数,并通过循环来计算每个数字的立方和,最后将它们相加,判断是否等于原始数字。
以下是一个计算三位数水仙花数的Java代码示例:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
if (isNarcissisticNumber(i)) {
System.out.println(i);
}
}
}
private static boolean isNarcissisticNumber(int n) {
int sum = 0;
int count = getCount(n);
int temp = n;
while (temp > 0) {
int digit = temp % 10;
sum += Math.pow(digit, count);
temp /= 10;
}
return sum == n;
}
private static int getCount(int n) {
int count = 0;
while (n > 0) {
count++;
n /= 10;
}
return count;
}
}
```
在上面的代码中,我们使用了一个for循环来遍历所有三位数,并且通过isNarcissisticNumber()方法来判断是否是水仙花数。isNarcissisticNumber()方法接受一个整数作为参数,它首先调用getCount()方法来计算该整数的位数,然后使用while循环来计算该整数每个数字的立方和,并将结果存储在sum变量中。最后,它将sum与原始数字进行比较,如果相等,则返回true,否则返回false。
在getCount()方法中,我们使用一个while循环来计算一个数字的位数,并将结果存储在count变量中。
以上是计算三位数水仙花数的Java代码示例,你可以根据需要进行修改来计算其他位数的水仙花数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![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)