【题目】
有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); }