黑马程序员技术交流社区
标题:
求质因数的简单方法
[打印本页]
作者:
夜写意
时间:
2015-7-18 11:00
标题:
求质因数的简单方法
简单的方法,没有加入复杂的算法,程序的效率不高。
/*
* 需求: 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
* 思路:1.定义一个方法,方法的作用是为一个数从1开始到其本身之间求模
* 模为0的则这个数是其质因数,将这个数加入集合。
* 2.当模为0时,使用递归的思想继续调用此方法,传入商的值。
* 3.当只能被其本身整除时,结束此递归循环,得的数为其质因数。
*/
public class Test04 {
public static void main(String[] args) {
new GetZhiYinShu(555555);
}
}
class GetZhiYinShu {
private int number;
private ArrayList<Integer> al = new ArrayList<Integer>();
public GetZhiYinShu(int number) {
super();
this.number = number;
getNumber(number);
show();
}
public ArrayList<Integer> getAl() {
return al;
}
public void getNumber(int number) {
for (int i = 2; i <= number; i++) {
if (number % i == 0) {
getNumber(number / i);
al.add(i);
break;
}
}
}
public void show() {
StringBuffer sb = new StringBuffer();
for (int i = al.size() - 1; i >= 0; i--) {
if (i != 0)
sb.append(al.get(i) + "*");
else
sb.append(al.get(i));
}
System.out.println(number + "=" + new String(sb));
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2