用流程图或者Java编写这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了6种钱币面值为2、5、10、20、50、100,用来凑 15元,可以用5个2元、1个5元,或者3个5元,或者1个5元、1个10元,等等。显然,最少需要2个钱币才能凑成15元。你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。
网友回答
【答案】 public class Test{\x09public static void main(String[] args)\x09{\x09\x09int sum = 15;\x09\x09for(int i = 0; i < sum / 2.d; i++)\x09\x09{\x09\x09\x09for(int j = 0; j <= sum / 5.d; j++)\x09\x09\x09{\x09\x09\x09\x09for(int k = 0; k <= sum / 10.d; k++)\x09\x09\x09\x09{\x09\x09\x09\x09\x09if(i * 2 + j * 5 + k * 10 == sum)\x09\x09\x09\x09\x09{\x09\x09\x09\x09\x09\x09System.out.println("2元: " + i + ", 5元: " + j + ", 10元: " + k);\x09\x09\x09\x09\x09}\x09\x09\x09\x09}\x09\x09\x09}\x09\x09}\x09}}