一个数的因数就是能与别的数相乘得到这个数的数。 比如30,它的因数就是1,2,3,5,6,10,15,30.
质因数,首先,它应该先是质数,其次再有因数的性质。 因此,对于30来说,它的质因数是2,3,5。而1,16,10,15,30不是质数所以只属于30的因数
合数写成几个质数相乘的形式表示,叫做分解质因数。
唯一分解定理,即:每个大于1的自然数均可写为质数的积,而且这些素因子按大小排列之后,写法仅有一种方式。
import java.util.Scanner;
public class Test4
{
public static void main(String args[])
{
Scanner input = new Scanner(System.in);
System.out.print("输入一个要分解的数: ");
int number = input.nextInt();
System.out.print("分解质因数:" + number + "=");
int factor = 2;//最小的质因数是2
boolean flag=true;//标记,使得第一个乘号不打印
while (factor <= number)//合数大于等于因数
{
if (number % factor == 0)//刚开始是出2这个质数,一直除到
{
number = number / factor;
if(flag)//if/else语句只是为了不输出第一个乘号“*”
flag=false;
else
System.out.print("*");//输出乘号
System.out.print(factor);//输出质因数
}
else
{
factor++;
}
}
}
}