题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5
解题思路:
1.首先需要知道质因数的含义,质因数也可称为素数,能够整除给定的整数,素数即只有1和自身两个因数。
2.给定的整数从2开始细化,如果2不能整除则因数递增,逐渐求得可整除的因数,输出。
3.当有可整除的质因数时,给定整数变为【原给定整数/质因数】,循环步骤2
4.直至质因数=给定整数时,输出最后的质因数。
具体代码:
package package1015;
import java.util.ArrayList;
import java.util.Scanner;
/*将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5*/
public class Test {
public void mainExecute(int num) {
ArrayList<Integer> list = new ArrayList<Integer>();
System.out.print(num +"=");
for (int i = 2; i < num; ) {
if (num%i == 0) {
num = num/i;
System.out.print(i+"*");
// list.add(i);
}else {
i++;
}
if (i == num) {
//list.add(num);
System.out.print(num);
}
}
}
public static void main(String[] args) {
Test test = new Test();
System.out.println("Input:");
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
test.mainExecute(num);
scanner.close();
}
}