编写一java类 利用1圆,2圆,5圆,10圆 求出和为100圆的所有可能的组合
解决方案 »
- 为什么paranum=32
- JAVA新手的程序問題
- 关于有符号右移>>与无符号右移>>>
- 高手都来指点一下吧,两个问题,如何设置Jtable中的列或行的颜色,如何把表格中所有数据保存到文件中!!!
- 使用JB2005,在打包jar时,在MANIFEST.MF中指定Main-Class时,"MANIFEST.MF": Error reading manifest: java.io.IOException: invalid he
- applet中怎样设置画线的宽度?
- 现在外面流行做的工作流一般是怎么做的,大致是怎么样个情况,用什么java技术的??
- 喜得千金,今日好分大放送!
- 请教万年历的核心算法?
- 大家能帮我解决这几个问题吗?请进 ...
- 一道线程的题目,头痛。。。
- JTable的Jcheckbox显示问题
for(int j = 0; j <= 50; j ++){
for(int k = 0; k <= 20; k ++){
for(int m = 0; m <= 10; i ++){
if(i + 2 * j + 5 * k + 10 * n == 100)
System.out.println("1元:" + i + "个;2元:" + j + "个;5元:" + k+ "个;10元:" + m + "个")
}
}
}
}
for(int m = 0; m <= 10; m ++){
if(i + 2 * j + 5 * k + 10 * m == 100)
要改成符合楼主的要求,只要用数组把钱的面值存进去代替i
再用for循环生成n个实例就可以了public class test{
int aim;
test(int aim,int len){
this.aim = aim;
f(0,1,0,new int[len]);
}
void f(int sum,int num,int cur,int list[]){
System.out.println(sum+" "+aim+" "+num+" "+cur);
if(sum<aim&&num<aim&&cur<list.length){
for(int i=num;i<aim;i++){
list[cur] = i;
f(sum+i,i,cur+1,list);
}
}else if(sum==aim&&cur==list.length){
for(int i=0;i<list.length;i++)
System.out.print(list[i]+" ");
System.out.println();
}
}
public static void main(String args[]){
new test(10,4);
}
}