java循环结构水仙花数
时间: 2023-10-19 22:20:20 浏览: 159
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如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之间的所有三位数,然后分别计算其百位数、十位数和个位数。最后判断这个三位数是否是水仙花数,如果是就输出。
相关问题
(循环结构)利用任意2种循环结构,实现“水仙花数”的查找和输出 JAVA
在 Java 中,"水仙花数"是指一个三位数,其各位数字立方之和等于该数本身。我们通常会使用for循环遍历100到999之间的所有整数,并利用嵌套循环计算每一位的立方和,如果相等则找到一个水仙花数。以下是使用for循环和if条件判断实现的简单示例:
```java
public class WaterfallNumber {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
int firstDigit = i / 100;
int secondDigit = (i % 100) / 10;
int thirdDigit = i % 10;
// 计算每个位的立方和
int sumOfCubes = Math.pow(firstDigit, 3) + Math.pow(secondDigit, 3) + Math.pow(thirdDigit, 3);
if (sumOfCubes == i) {
System.out.println(i); // 输出水仙花数
}
}
}
}
```
在这个代码片段中,外部的for循环控制百位数字,内部的两个if条件分别获取十位和个位数字并计算它们的立方。如果`sumOfCubes`等于原数`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),然后使用循环结构来遍历这个数字及其之前的所有数字。对于每个数字,我们计算它的每个位上的数字的立方和,如果这个和等于原来的数字,那么这个数字就是一个水仙花数,我们就输出它。如果遍历完所有可能的数字都没有找到水仙花数,我们就输出一个信息说明这个数字不是水仙花数。
阅读全文