有50枚硬币,可能包括4种类型:1元,5角,1角,5分。 已知总价值为20元。求各种硬币的数量。

/*
  	标题:硬币方案

	有50枚硬币,可能包括4种类型:1元,5角,1角,5分。
	已知总价值为20元。求各种硬币的数量。
	比如:2,34,6,8 就是一种答案。
	而 2,33,15,0 是另一个可能的答案,显然答案不唯一。
	
	你的任务是确定类似这样的不同的方案一共有多少个(包括已经给出的2个)?
	
	直接提交该数字,不要提交多余的内容。
	
*/
public class Coin {

	public static void main(String[] args) {

		int i,j,m,n,count=0;//分别代表1元,5角,1角,5分,计数用的
		long start = System.currentTimeMillis();
		for( i=0;i<=20;i++){
			for(j=0;j<=40;j++){
				for(m=0;m<200;m++){
					for(n=0;n<400;n++){
						if((i+j+m+n==50) && (i*20+j*10+m*2+n==20*20)){
							count++;
							System.out.println(i+":"+j+":"+m+":"+n);
						}
					}
				}
			}
		}
		long end = System.currentTimeMillis();
		System.out.println("总次数:"+count);
		System.out.println("总时间:"+(end-start));
	}

}

  

posted @ 2013-03-31 10:46  hacket520  阅读(526)  评论(0)    收藏  举报