日期:2014-05-20 浏览次数:20808 次
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);
}
}
}