求1000以内的水仙花数Java代码
时间: 2023-06-11 22:05:38 浏览: 91
很高兴接受你的提问!以下是Java代码实现:
```
public static void main(String[] args) {
int n = 1000;
for (int i = 1; i <= n; 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.print(i + " ");
}
}
}
```
这段代码可以找到1000以内的水仙花数并输出。根据题意,水仙花数是指一个三位数,其各位数字的立方和等于该数本身。因此,我们可以通过循环遍历1000以内的整数,逐一判断每个数字是否为水仙花数,满足条件则输出即可。
相关问题
用Java代码演示1000以内的水仙花数总和
下面是一个用Java代码演示求1000以内的水仙花数和的示例:
```java
public NarcissisticNumbers {
public static void main(String[] args) {
int sum = 0;
forint i = 100; i < 1000; i++) {
if (isNarcissisticNumber(i)) {
sum += i;
}
}
System.out.println("1000以内的水仙花数总和为: " + sum);
}
// 判断一个数是否为水仙花数
public static boolean isNarcissisticNumber(int num) {
int originalNum = num;
int sum = 0;
while (num > 0) {
int digit = num % 10;
sum += Math.pow(digit, 3);
num /= 10;
}
return sum == originalNum;
}
}
```
该代码首先定义了一个`NarcissisticNumbers`类,其中包含了`main`方法和一个用于判断是否为水仙花数的辅助方法`isNarcissisticNumber`。
在`main`方法中,使用循环遍历100到999之间的每个数,如果该数是水仙花数,则将其累加到变量`sum`中。最终输出累加结果。
`isNarcissisticNumber`方法用于判断一个数是否为水仙花数。它将输入的数拆分为各个位上的数字,计算每个数字的立方和,然后与原始数比较是否相等。
运行该代码,将会输出1000以内的水仙花数总和。
用Java代码编写1到1000以内的水仙花数
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 1; i <= 1000; i++) {
if (isNarcissisticNumber(i)) {
System.out.println(i);
}
}
}
private static boolean isNarcissisticNumber(int num) {
int sum = 0;
int n = num;
while (n > 0) {
int digit = n % 10;
sum += Math.pow(digit, 3);
n /= 10;
}
return sum == num;
}
}
阅读全文