/**
* 描述:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
* 分析:
* 对n进行分解质因数,应该先找到一个最小的质数k,然后按照下列步骤进行:
* (1)如果这个质数恰等于n,这说明分解质因数的过程已经结束,打印出即可
* (2)如果n!=k,但n等被k整除,这应打印出k的值,并用n除以k的商,作为新的正整数,重复执行第一步
* (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步
* 作者:徐守威
*/
package com.xushouwei;
import java.util.*;
public class T4 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
System.out.println("请输入您要分解的正整数:");
//定义要需要分解质因数的正整数
int n=sc.nextInt();
//定义最小质数k
int k=2;
System.out.print(n+"分解质因数后结果为:"+n+"=");
//用k与n的值作为循环条件
while(n>k)
{
//如果n能被k整除(即n%k时候等于0),如果能整除这打印出k的值
if(n%k==0)
{
//打印出k的值
System.out.print(k+"*");
//用n除以k的商作为新的正整数
n=n/k;
}
//如果n不能被k整除,则用k+1作为k的值
if(n%k!=0)
{
k++;//k值加一
}
}
//打印最终的k的值
System.out.println(k);
}
}