题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
解题思路:
如果第一个质数恰等于n,则说明分解质因数的过程已经结束,直接打印即可
如果n不等于k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
代码实例:
public static void main(String[] args){
Scanner reader = new Scanner(System.in);
System.out.print("请输入需要求质因数的数:");
int n = reader.nextInt();
System.out.print(n+"=");
for(int i = 2;i <= n;i ++){//循环2到n之间的数
while(n%i==0 && n!=i){
n /= i;//n = i / n
System.out.print(i+"*");
}
if(n==i){
System.out.println(i);
break;
}
}
}
输出结果:
请输入需要求质因数的数:90
90=2*3*3*5