import java.util.Scanner;
//7. 将一个正整数进行分解质因数操作 例如: 输入90 结果 2*3*3*5
public class HomeWork7 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("输入正整数:");
int num = input.nextInt();
int i = 2;
while(i <= num){
if(i == num){
System.out.println(num);
break;
}else if(num % i == 0){
System.out.print(i + "*");
num = num / i;
}else{
i++;
}
}
}
}
/*
7. 将一个正整数进行分解质因数操作 例如: 输入90 结果 2*3*3*5
质因数 有且被1 和 本身整除
2 3 5 7 11 13 17 19 23
90 ==> 2 * 3 * 3 * 5
15 ==> 3 * 5
120 == > 2 * 2 * 2 * 3 * 5
【问题】终止条件在哪里?
1. 循环变量 == 被操作数
2. 被操作数 ==> 1
120 ÷ 2
==> 60 ÷ 2
==> 30 ÷ 2
==> 15 ÷ 2错 2 += 1 ==> 3
==> 15 ÷ 3
==> 5 ÷ 3 错 3 += 1 ==> 4
==> 5 ÷ 4 错 4 += 1 ==> 5
==>
解出一个数字之后,需要再将循环变量保持原样 继续操作
*/
class HomeWork7 {
public static void main(String[] args) {
// 分解质因数从2开始
int i = 2;
int num = 23;
// 要求i值小于等于num,继续循环
while (i <= num) {
if (num % i == 0) {
System.out.println("i : " + i);
num /= i;
i -= 1;
}
i += 1;
}
}
}