2018蓝桥杯校选题目1 换钱问题

大耗子 2020年02月24日 340次浏览

x星球的钞票的面额只有:100元,5元,2元,1元,共4种。
小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱。
小明有点强迫症,他坚持要求200元换出的零钞中2元的张数刚好是1元的张数的10倍,
剩下的当然都是5元面额的。
银行的工作人员有点为难,你能帮助算出:在满足小明要求的前提下,最少要换给他多少张钞票吗?
(5元,2元,1元面额的必须都有,不能是0)

注意,需要提交的是一个整数,不要填写任何多余的内容。

#include <stdio.h>

void main()
{
	int num = 0,i;
	for (i = 21; i < 200; i+=21)
	{
		num = 11 * i / 21;
		if ((200 - i) % 5 == 0)
			break;
	}
	num += (200 - i) / 5;
	printf("最少要%d张",num);
}

点击并拖拽以移动

其实也可以靠手算

有题目可以找到 1元和2元的比例是 1:10

那么1元和2元可以化成一份21元,而这一份就有11张

因为要和5整除,所以可以得出公式

(总钱数-21*n)==0

因为是要最少,那么5元越多越好