Z Courses

A Simple Web Classroom

用户工具

站点工具


趣题:cpp:零钱问题

零钱问题

题目描述

在现实生活中,经常遇到找零问题,假设有数目不限的面值为20,10,5,1的硬币。给出需要找零数,求出找零方案,要求:使用数目最少的硬币。

参考代码

#include <iostream>
using namespace std;
void change(int m[],int n,int k)
{
	for(int i=0;i<k;i++)
	{
		while(n>=m[i] && n>0)
		{
			cout << m[i] <<" ";
			n-=m[i];
		}
	}
}

int main(int argc, char **argv)
{
	int money[]={20,10,5,1};
	int n;
	cin >> n;
	change(money,n,sizeof(money)/sizeof(money[0]));
	return 0;
}