找零钱.txt

来自「里面包含vc的经典算法,如动态规划,分治,回溯,贪心算法等」· 文本 代码 · 共 37 行

TXT
37
字号

//有1,2,5三种硬币
#include <iostream> 
#include <vector> 
using namespace std; 

int  change_money(vector<int> &ivec, int n) 
{ 
	ivec.push_back(0) ; //0分钱就不需要找 
    ivec.push_back(1) ; //1分钱只需要1个硬币 
    ivec.push_back(1) ; //2分钱只需要1个硬币 
    ivec.push_back(2) ; //3分钱需要2个硬币 
    ivec.push_back(2) ; //4分钱需要2个硬币 
    ivec.push_back(1) ; //5分钱需要1个硬币 
    for(int i=6;i<=n;++i) 
	{ 
		int tmp1 = 1+ivec[i-1] ; 
        int tmp2 = 1+ivec[i-2] ; 
        int tmp5 = 1+ivec[i-5] ; 
        int tmp = tmp1 < tmp2 ? tmp1:tmp2; 
        tmp = tmp<tmp5 ? tmp:tmp5; 
        ivec.push_back(tmp); 
	} 
    return  ivec[i-1]; 
} 

int main() 
{ 
   cout << "请输入要找的零钱数: " ; 
   int n; 
   cin >> n; 
   vector<int> ivec; 
   cout << "最少需要的硬币数为:" << change_money(ivec,n); 
   cout << endl; 
   return 1 ;
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?