java基础50题(4)

时间:2023-02-17 12:14:43
/*
 * 04:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5

 */

一个质数写成它自己的形式。一个合数N能够写成几个质数相乘的形式,所以,我们只要从能整除它的最小的质数开始分解,例如:

90能够被最小的质数2整除,然后,令N=90/2=45,递归再找最小能整除45的质数,是 3,令N=45/3=15,再递归.....一直到这个数分解称为质数为止。

<span style="font-size:18px;">import java.util.Scanner;
public class Question4 {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.println("请输入一个正整数");
int num = in.nextInt();
System.out.print(num+"=");
fenjie(num);

}
static void fenjie(int num1){
if(num1==2){
System.out.print("2");
return;
}
else{
int i;
for(i=2;i<=num1;i++){
if(i==num1)
System.out.print(i);
else if(num1%i==0&&i<num1){
System.out.print(i+"*");
num1=num1/i;
fenjie(num1);
break;
}
}return;
}
}
}
</span>