水仙花数求解java
时间: 2023-10-11 11:26:16 浏览: 113
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如153就是一个水仙花数,因为$1^3+5^3+3^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);
}
}
}
}
```
运行上述程序,可以得到如下输出结果:
```
153
370
371
407
```
这些数字都是三位数的水仙花数。
相关问题
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水仙花数for循环
水仙花数是指一个三位数,它的各个数字的立方和等于该数本身。例如,153是一个水仙花数,因为1³+5³+3³=153。现在我们来用Java编写一个利用for循环找出所有水仙花数的程序。
首先,我们可以使用一个for循环来遍历所有的三位数。从100开始,直到999结束,我们可以使用一个变量i作为循环计数器。每次循环中,我们判断i是否满足水仙花数的条件,如果满足,则将其输出。
具体的步骤如下:
1. 使用一个for循环,初始化i为100,循环条件为i小于等于999,每次循环结束后,i增加1。
2. 在循环中,我们需要获取i的每一位数字。首先,我们将i转换为字符串类型,然后使用charAt方法获取每一位的字符,再将字符转换为整数类型。将每一位数字的立方相加,保存到一个变量sum中。
3. 判断sum是否等于i,如果相等,则说明i是水仙花数,我们将其输出。
下面是Java代码示例:
```java
for(int i = 100; i <= 999; i++){
int sum = 0;
String num = String.valueOf(i); // 将i转换为字符串类型
for(int j = 0; j < num.length(); j++){
int digit = Integer.parseInt(String.valueOf(num.charAt(j))); // 获取每一位数字
sum += Math.pow(digit, 3); // 求每一位数字的立方和
}
if(sum == i){
System.out.println(i); // 输出水仙花数
}
}
```
以上代码会输出所有的水仙花数,结果为:153、370、371、407。
这样,我们就利用for循环找出了所有的水仙花数。通过循环遍历和条件判断,我们可以方便地求解各种数学问题。
阅读全文