62,621
社区成员
发帖
与我相关
我的任务
分享public static void main(String[] args) {
int num=5;
int count=0;
for(int i=0;i<=num;i++){
for(int j=0;j<=num/2;j++){
for(int k=0;k<=num/5;k++){
if((i+2*j+5*k)==num){
count++;
System.out.println("1元:"+i+"\t2元:"+j+"\t5元:"+k);
}
}
}
}
System.out.println(count);
}不用每次都循环整个吧?递归应该怎么做呢?
这个应该可以,看看public class Hello {
public static void foo(int n) {
if (n < 1) { return; }
if (n >= 5) {
System.out.print(5 + ", ");
foo(n - 5);
} else if (n >= 2) {
System.out.print(2 + ", ");
foo(n - 2);
} else if (n >= 1) {
System.out.print(1 + ", ");
foo(n - 1);
}
}
public static void main(String[] args) {
foo(18);
}
}