将一个正整数分解因数Java
时间: 2024-11-22 09:38:32 浏览: 23
在Java中,你可以使用循环结构如for-each或while来将一个正整数分解成它的因数。下面是一个简单的示例,展示如何分解一个给定的数字:
```java
public class Factorization {
public static void primeFactors(int num) {
while (num % 2 == 0) { // 先尝试除以2
System.out.println(2);
num = num / 2;
}
for (int i = 3; i <= Math.sqrt(num); i += 2) { // 只检查奇数,从3开始到num的平方根
while (num % i == 0) { // 如果能整除,则打印因子并更新num
System.out.println(i);
num = num / i;
}
}
// 如果num大于2,说明num本身就是质数,直接输出它
if (num > 2) {
System.out.println(num);
}
}
public static void main(String[] args) {
int numberToFactorize = 48;
primeFactors(numberToFactorize);
}
}
```
在这个例子中,`primeFactors`函数会打印出输入数字的所有质因数。运行这个程序,比如对于数字48,你会看到输出:2, 2, 2, 2, 3。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.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)
![](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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)