public class S40 {
public static void main(String args[]) {
MyMath math = new MyMath();
//math.fengjie(6);
for(int i=1;i<100;i++){
System.out.println(math.fenJieZhiYinShu(i));
}
}
}
class MyMath {
/**
* 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。自己的做法
*/
public String fenJieZhiYinShu(int num) {
StringBuffer stringBuffer = new StringBuffer(num + "=");
int lastNum = num;
for (int i = 2; i < num / 2; i++) {
if (num % i == 0) {
stringBuffer.append(i + "*");
num = num / i;
i = 1;
lastNum = num;
}
}
//因为当最后一个数是4的时候没法进入循环2<4/2不成立
if(lastNum==4){
return stringBuffer.append("2*2").toString();
}
return stringBuffer.append(lastNum + "").toString();
}
/**
* 这个是大神做法
* @param n
*/
public void fengjie(int n) {
for (int i = 2; i <= n / 2; i++) {
if (n % i == 0) {
System.out.print(i + "*");
fengjie(n / i);
}
}
System.out.print(n);
System.exit(0);
}
}