10简单推导:硬币方案
【题目】
有50枚硬币,可能包括4种类型:1元,5角,1角,5分。
已知总价值为20元。求各种硬币的数量。
比如:2,34,6,8 就是一种答案。
而 2,33,15,0 是另一个可能的答案,显然答案不唯一。
你的任务是确定类似这样的不同的方案一共有多少个(包括已经给出的2个)?
直接提交该数字,不要提交多余的内容。
【分析】
将所有的单位都换算成分,这样就避免了出现小数的问题。
import java.util.*;
public class Lanq {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = 5, b = 10, c = 50, d = 100;
int sum = 2000;
int cnt = 0;
for (int i = 0; i <= 400; i++)
for (int j = 0; j <= 200; j++)
for (int k = 0; k <= 40; k++)
for (int m = 0; m <= 20; m++) {
if (a * i + b * j + k * c + m * d == sum&&i+j+k+m==50)
{
cnt++;
break;
}
}
System.out.println(cnt);
}

浙公网安备 33010602011771号