java循环结构水仙花数
时间: 2023-10-19 20:20:20 浏览: 155
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如153就是一个水仙花数,因为1的立方加5的立方加3的立方等于153。
下面是使用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 (a * a * a + b * b * b + c * c * c == i) {
System.out.println(i);
}
}
}
}
```
该程序使用for循环遍历100~999之间的所有三位数,然后分别计算其百位数、十位数和个位数。最后判断这个三位数是否是水仙花数,如果是就输出。
相关问题
java水仙花数的求解
Java水仙花数的求解可以使用循环结构和条件语句。所谓水仙花数,是指三位数中,各个数位的立方和等于该数本身的数。具体实现可以参考以下代码:
for (int i = 100; i <= 999; i++) {
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 + "是水仙花数");
}
}
以上代码可以输出所有的水仙花数。
Java利用任意2种循环结构,实现“水仙花数”的查找和输出
水仙花数是指一个 n 位数 (n≥3),它的每个位上的数字的 n 次幂之和等于它本身。例如:153 = 1^3 + 5^3 + 3^3。
以下是使用两种循环结构(for 和 while)实现水仙花数查找和输出的 Java 代码示例:
**使用 for 循环**:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
int num = 100; // 假设我们要查找的数是 100
for (int i = 10; i < num; i++) {
int sum = 0;
int temp = i;
while (temp != 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == i) {
System.out.println(i);
}
}
}
}
```
**使用 while 循环**:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
int num = 100; // 假设我们要查找的数是 100
int sum = 0;
int temp = num;
while (temp != 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == num) {
System.out.println(num); // 如果数字是水仙花数,则输出它
} else {
System.out.println(num + "不是水仙花数"); // 如果数字不是水仙花数,则输出信息
}
}
}
```
在这两个示例中,我们首先设定一个起始数字(例如,我们这里设定为 100),然后使用循环结构来遍历这个数字及其之前的所有数字。对于每个数字,我们计算它的每个位上的数字的立方和,如果这个和等于原来的数字,那么这个数字就是一个水仙花数,我们就输出它。如果遍历完所有可能的数字都没有找到水仙花数,我们就输出一个信息说明这个数字不是水仙花数。
阅读全文