输入样例1:
36
输出样例1:
36=2*2*3*3
输入样例2:
89
输出样例2:
89=89
输入样例3:
1566
输出样例3:
1566=2*3*3*3*29
package week06;
import java.util.Scanner;
public class ProPri {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
String result = primeFactorization(n);
System.out.println(result);
input.close();
}
public static String primeFactorization(int n) {
StringBuilder sb = new StringBuilder();
// StringBuilder是Java提供的一个用于构建可变字符串的类。它允许你在不创建新的字符串对象的情况下进行字符串的拼接和修改,效率较高。
// StringBuilder类提供了一系列用于操作字符串的方法,例如追加字符串、插入字符串、替换字符串、删除字符等。以下是一些常用的StringBuilder方法:
// append(str):追加一个字符串或其他数据类型到当前StringBuilder对象的末尾。
// insert(index, str):在当前StringBuilder对象的指定位置插入一个字符串或其他数据类型。
// delete(start, end):从当前StringBuilder对象中删除指定范围内的字符。
// replace(start, end, str):用指定的字符串替换当前StringBuilder对象中指定范围的字符。
// reverse():反转当前StringBuilder对象中的字符顺序。
// toString():将当前StringBuilder对象转换为String类型的字符串。
// 通过使用这些方法,你可以方便地对字符串进行拼接、修改和处理,而不需要频繁创建新的字符串对象,提高了字符串处理的效率。
sb.append(n).append("=");
for (int i = 2; i <= n; i++) {
while (n % i == 0) {
sb.append(i).append("*");
n /= i;
}
}
// 去除最后一个多余的"*"
sb.setLength(sb.length() - 1);
return sb.toString();
}
}