[Java] 纯文本查看 复制代码
package test4;
import java.util.ArrayList;
import java.util.Scanner;
public class Test {
/*
* 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。自己偷懒,就没写是质素就直接返回质素的情况
* */
static int num = 0;
public static void main(String[] args) {
System.out.println("请输入一个整数:");
num = new Scanner(System.in).nextInt();
ArrayList<Integer> list = new ArrayList<Integer>();
chuNum(list,num);
System.out.println(list);
StringBuffer s = new StringBuffer();
for (int i = 0; i < list.size(); i++) {
if (i == list.size() - 1) {
s = s.append(list.get(i));
break;
}
s= s.append(list.get(i)+" * ");
}
System.out.println(num+" = "+s);
}
private static void chuNum(ArrayList<Integer> list, int num2) {
for (int i = 2; i < num2/2+1; i++) {
if (num % i == 0) {
num = num / i;
list.add(i);
chuNum(list, num);
}
}
}
}
------------简略版-----------------