问题描述
设计算法,用户输入合数,程序输出若个素数的乘积。例如,输入6,输出23。输入20,输出22*5。
样例
与上面的样例输入对应的输出。
例:
120
2*2*2*3*5
13
13
数据规模和约定
输入数据中每一个数在int表示范围内。
思路:就是取因数,挨个输出就行。
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int i = 1; // 循环变量
int t = 1; // 第一位
while (n != 1) {
i++;
while (n % i == 0) {
n /= i; // 取每一位
if (t == 1) {
System.out.print(i); // 输出第一位
t = 0; // 初始 0
} else {
System.out.print("*" + i); // 连接后边的算式
}
}
}
}
}