Java水仙花数 取余
时间: 2023-11-20 13:53:42 浏览: 94
Java水仙花数是指一个三位数,它的每个位上的数字的三次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。在Java中,可以使用取余运算符(%)来获取一个数的个位数,十位数和百位数。然后,可以使用Math.pow()方法来计算每个数字的三次幂,最后将它们相加并与原始数字进行比较。如果它们相等,则该数字是水仙花数。下面是一个Java程序,用于查找所有的水仙花数:
```
public class Flower {
public static void main(String[] args) {
int g,s,b;
for(int i=100;i<1000;i++){
g = i%10;
s=i/10%10;
b=i/100;
if ((g*g*g+s*s*s+b*b*b)==i){
System.out.println(i);
}
}
}
}
```
在这个程序中,我们使用了一个for循环来遍历所有的三位数。然后,我们使用取余运算符和除法运算符来获取每个数字。最后,我们使用if语句来检查每个数字是否是水仙花数,并将其打印出来。
相关问题
java代码写水仙花数
当一个三位数每个数的立方和等于该数本身,则该数被称为水仙花数。以下是 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 (i == a * a * a + b * b * b + c * c * c) {
System.out.println(i + " 是水仙花数。");
}
}
}
}
```
该代码用 for 循环从 100 到 999 遍历所有三位数,然后通过取余和整除运算获取百位、十位和个位数。接着,通过判断三个数的立方和是否等于该数本身来判断是否为水仙花数。如果是,则输出该数。
水仙花数java代码
### 回答1:
以下是水仙花数的 Java 代码:
```
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int a = i % 10;
int b = i / 10 % 10;
int c = i / 100;
if (i == (a * a * a + b * b * b + c * c * c)) {
System.out.println(i);
}
}
}
}
```
这段代码遍历了 100 到 999 之间的数字,并判断每个数字是否为水仙花数。如果是,则将其输出。
### 回答2:
水仙花数是指一个三位数,其各个位上的数字的立方和等于该数本身。也就是说,如果一个三位数abc满足abc = a^3 + b^3 + c^3,那么abc就是一个水仙花数。
下面是一个用Java语言编写的水仙花数的代码:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int num = 100; num <= 999; num++) {
int hundredsDigit = num / 100; // 获取百位数字
int tensDigit = (num / 10) % 10; // 获取十位数字
int onesDigit = num % 10; // 获取个位数字
int sumOfCubes = (int) (Math.pow(hundredsDigit, 3) + Math.pow(tensDigit, 3) + Math.pow(onesDigit, 3));
if (sumOfCubes == num) {
System.out.println(num + "是一个水仙花数。");
}
}
}
}
```
这段代码中,我们使用一个for循环遍历所有的三位数。在每次循环中,我们通过除法和取余运算获取该数字的百位、十位和个位数字。然后我们计算这三个数字的立方和,并与原数字进行比较。如果相等,就打印出该数字是一个水仙花数。
运行这段代码,将输出所有的水仙花数。
### 回答3:
水仙花数是指一个n位数(n≥3),其每个位上的数字的n次幂之和等于该数本身。例如,153是一个水仙花数,因为1³ + 5³ + 3³ = 153。
以下是一个用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);
}
}
}
// 判断一个数字是否为水仙花数
public static boolean isNarcissisticNumber(int number) {
int originalNumber = number;
int sum = 0;
int digits = String.valueOf(number).length();
while (number > 0) {
int digit = number % 10;
sum += Math.pow(digit, digits);
number /= 10;
}
return sum == originalNumber;
}
}
```
以上代码从100到999的范围内遍历每个数,然后通过`isNarcissisticNumber`方法判断该数是否为水仙花数。`isNarcissisticNumber`方法首先保存原始的数字,然后计算每个位上数字的n次幂之和`sum`,最后与原始数字比较是否相等,如果相等返回`true`,否则返回`false`。如果判断为水仙花数,则将其打印输出。
阅读全文