初学者java:将一个整数分解质因数

来源:互联网 发布:linux修改tomcat内存 编辑:程序博客网 时间:2024/05/17 05:05
//将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
import java.util.Scanner;


public class Text {


public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.print("请输入一个正整数:");
int num=in.nextInt();
System.out.print(num+"=");
int i=2,j;
while(num!=0)
{
for(j=2;j<Math.sqrt(i);j++)//找最小的质数
if(i%j==0)
break;
if(j>Math.sqrt(i))//找到最小的质数i
{
if(i==num){//如果最小的质数等于num,分解质因数结束,用break循环
System.out.println(i);
break;
}
else 
if(num%i==0){//如果最小质数i能被num整除,i可作为num的质因数,此时令num=num/i
  System.out.print(i+"*");
  num=num/i;
  continue;//使用continue跳过下面的语句,继续测试最小的质因数i能否继续作为质因数
}
}
i++;
}
}
}