当前位置: 代码迷 >> J2SE >> 很基础 但很麻烦的有关问题
  详细解决方案

很基础 但很麻烦的有关问题

热度:17   发布时间:2016-04-24 13:04:17.0
很基础 但很麻烦的问题!
把任意给出的正整数分解质因数,
比如90,最后输出 90 = 2*3*3*5

这个输出想了很多方法不得其解,各位高手有什么好方法?

------解决方案--------------------
Java code
  static void zhi(int num) {    if (num == 1) {      System.out.print("1 ");    } else {      out: for (int i = 2; i <= num; i++) {        if (num % i == 0) {          System.out.print(i);          num = num / i;          if (num != 1) {            System.out.print("* ");            zhi(num);          }          break out;        }      }    }  }
------解决方案--------------------
我帮你写了个,应该是这样的,用for循环进行递归调用:
 public static void math(int init1,int init2,int n,int k,int sum){
int i; 
if(k>n){ /*如果k比n还大 则不能分*/
to2.getOption();
}
else if(n<=6||n>200||k<2||k>6){ /*满足条件*/
to2.getOption(); 
}

else{
if(init1>k) {if(n==sum){
MyJcomponent.count++; 
}
return; 

for(i=init2;i <=n;i++) /*在for()循环里进行递归调用*/

math(init1+1,i,n,k,sum+i);

}
}
  相关解决方案