天天看點

java 硬币_java實作硬币方案

标題:硬币方案

有50枚硬币,可能包括4種類型:1元,5角,1角,5分。

已知總價值為20元。求各種硬币的數量。

比如:2,34,6,8 就是一種答案。

而 2,33,15,0 是另一個可能的答案,顯然答案不唯一。

你的任務是确定類似這樣的不同的方案一共有多少個(包括已經給出的2個)?

直接送出該數字,不要送出多餘的内容。

public class X

{

public static void main(String[] args)

{

int n = 50; // 硬币個數

int z = 20 * 100; //總币值

int k = 0; // 方案計數

for(int a=0; a<=50; a++)

for(int b=0; b<=50; b++)

for(int c=0; c<=50; c++)

for(int d=0; d<=50; d++)

{

if(a+b+c+d==n && a*100+b*50+c*10+d*5==z) k++;

}

System.out.println(k);

}

}

public class X2

{

public static void main(String[] args)

{

int n = 50; // 硬币個數

int z = 20 * 100; //總币值

int k = 0; // 方案計數

for(int a=0; a<=50; a++)

for(int b=0; b<=50-a; b++)

for(int c=0; c<=50-a-b; c++)

//for(int d=0; d<=50; d++)

{

int d = 50-a-b-c;

if(a*100+b*50+c*10+d*5==z) k++;

}

System.out.println(k);

}

}