输出三十位以内的阿姆斯特朗数java
时间: 2024-09-14 12:15:34 浏览: 51
阿姆斯特朗数是指一个n位正整数,其各位数字的n次方之和等于原数本身。例如,153是一个三位阿姆斯特朗数,因为1^3 + 5^3 + 3^3 = 153。
下面是一个简单的Java程序,用于找出30位以内的所有阿姆斯特朗数:
```java
public class ArmstrongNumbers {
public static void main(String[] args) {
int limit = 1000; // 因为30位数最大是99999...999,我们设定查找范围到99999
for (int num = 1; num < limit; num++) {
if (isArmstrong(num)) {
System.out.println(num);
}
}
}
// 判断是否为阿姆斯特朗数的辅助函数
private static boolean isArmstrong(int number) {
int sum = 0;
String strNumber = Integer.toString(number); // 转换为字符串便于计算每一位的幂
int len = strNumber.length();
for (char digit : strNumber.toCharArray()) {
int digitValue = Character.getNumericValue(digit);
sum += Math.pow(digitValue, len); // 对每一位求n次方
}
return sum == number;
}
}
```
这个程序会打印出30位以内的所有阿姆斯特朗数,如1, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371等。
阅读全文
相关推荐
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)