当前位置:首页 > 题解目录 > 正文内容

【题解】人民币问题

亿万年的星光5年前 (2021-03-13)题解目录20898

【题目描述】

给出任意的人民币(>10 元)的整币兑换成 5 元、2 元和 1 元币值(要求三种币值均有)的方法有多少种。

【输入描述】

输入任意的人民币(>10 元)的整币 100,50,20,10

【输出描述】

计算出兑换成 5 元、2 元和 1 元币值(要求三种币值均有)的方法有多少种

【样例输入】

50

【样例输出】

106

【数据范围】


【题目分析】

  • 首先注意一点,题目要求三种币值都必须有,当人民币是10是,方案只有(5+2*2+1)和(5+2+1*3)两种。

  • 想的简单一点就是模拟(for循环)




[参考答案]

#include<iostream>
using namespace std;
int money,sum; //钱数和总数 

int main(){
	cin>>money; 
	for(int i=1;i<money/5;i++)  //模拟5元
	{
		for(int j=1;j<money/2;j++) //模拟2元
			{
				for(int k=1;k<money/1; k++) //模拟1元 
					 if(i*5+j*2+k*1==money) //符合情况 
					 	sum++; 
			}	
	} 
	cout<<sum<<endl;
	return 0; 
}


【注】:和“画百钱买白鸡”问题是同一种类型。

    扫描二维码推送至手机访问。

    版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

    标签: for模拟
    分享给朋友:

    相关文章

    【题解】前缀最大值

    【题目描述】求一个数列的所有前缀最大值之和。即:给出长度为n的数列a[i],求出对于所有1<=i<=n,max(a[1],a[2],...,a[i])的和。比如,有数列:666 304 6...

    数列分段

    题目描述对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求。输入格式第1行包含两个正整数N,M,表示了数列A[i...

    【题解】石子合并

    【题目描述】在一个操场上一排地摆放着N堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。设计一个程序,计算出将N堆石子合并成一堆的...

    迷宫

    【题目描述】一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n * n的格点组成,每个格点只有2种状态,.和#,前者表示可以通行后者表示不能通行。同时当Extense处在某个...

    【题解】切割绳子

    【题目描述】有N条绳子,它们的长度分别为Li。如果从它们中切割出K条长度相同的绳子,这K条绳子每条最长能有多长?答案保留到小数点后2位(直接舍掉2位后的小数)。【输入描述】第一行两个整数N和K(0&l...

    【题解】最小新整数

    【问题描述】第⼀⾏有x个正整数a1,a2,..,ax,第⼆⾏有y个正整数b1,b2,...,by,第三⾏有z个正整数c1,c2,...,cz,假设第⼀⾏的x个正整数中的最⼤值为a、第⼆⾏的y个正整数中...