将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。java
时间: 2024-10-14 20:09:20 浏览: 16
将一个正整数分解质因数,例如输入90, 打印出90=2*3*3*5。下面是Java实现代码示例:
```java
import java.util.Scanner;
public class PrimeFactors {
public static void main(String[] args) {
System.out.println("请输入一个正整数:");
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
System.out.print(num + "=");
for (int i = 2; i <= num; i++) {
while (num % i == 0) {
System.out.print(i + "*");
num /= i;
}
}
scanner.close();
}
}
```
在这段代码中,我们首先通过`Scanner`类读取用户输入的正整数。然后,通过一个循环从2开始遍历所有的整数,如果当前整数能够整除给定的正整数,就输出这个整数并继续除以这个整数,直到无法整除为止。这个过程会一直重复,直到给定的正整数被分解为1。
相关问题
用Java将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。
在Java中,可以使用循环和条件判断来将一个正整数分解成质因数。这里是一个简单的示例程序:
```java
public class PrimeFactorization {
public static void main(String[] args) {
int number = 90; // 输入的正整数
System.out.print(number + " = ");
for (int i = 2; i <= number; i++) {
while (number % i == 0) { // 如果i能整除number
System.out.print(i + "*"); // 打印当前质因数
number /= i; // 更新number为number/i
}
}
if (number > 1) { // 检查是否还有剩余的质因子
System.out.println(number); // 若有,单独打印最后一个质因数
} else {
System.out.println("1"); // 否则,1也是质因数
}
}
}
```
当你运行这个程序,它会输出 `90 = 2*3*3*5`。
将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5 用java实现
将一个正整数分解质因数是一个常见的基础算法,它找出所有能整除该数的质数,并记录它们的幂次。下面是使用 Java 实现的一个简单函数:
```java
import java.util.ArrayList;
import java.util.List;
public class PrimeFactorization {
public static String primeFactorize(int num) {
List<String> factors = new ArrayList<>();
for (int i = 2; i * i <= num; i++) { // 只需要检查到 sqrt(num)
while (num % i == 0) { // 当i是因子时,将其加到列表并继续去除该因子
factors.add(i + " ");
num /= i;
}
}
if (num > 1) { // 如果 num 还大于 1,说明最后一个因子可能是质数
factors.add(num + " ");
}
return " = " + joinFactors(factors);
}
private static String joinFactors(List<String> factors) {
StringBuilder result = new StringBuilder();
for (int i = 0; i < factors.size(); i++) {
if (i != 0) result.append(" * ");
result.append(factors.get(i));
}
return result.toString();
}
public static void main(String[] args) {
int number = 90;
System.out.println(primeFactorize(number)); // 输出:90 = 2 * 3 * 3 * 5
}
}
```
这个程序首先从 2 开始遍历到 `sqrt(num)`,找到每个因子并去除,然后检查剩余的部分是否还有因子。最后将结果连接成字符串格式输出。
阅读全文