买书

来源:互联网 发布:自己实现java虚拟机 编辑:程序博客网 时间:2024/05/01 05:32

描述

小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元。

问小明有多少种买书方案?(每种书可购买多本)

输入
一个整数 n,代表总共钱数。(0 <= n <= 1000)
输出
一个整数,代表选择方案种数
样例输入
样例输入1:20样例输入2:15样例输入3:0
样例输出
样例输出1:2样例输出2:0样例输出3:0 

解题思路:完全背包问题

代码:

#include<iostream>#include<cstdio>#include<cstring>using namespace std;int v[10];int f[1010],i,j,n;int main(){       scanf("%d",&n);       v[1]=10;       v[2]=20;    v[3]=50;       v[4]=100;       f[0]=1;       for (i=1;i<=4;i++)        for (j=0;j<=n;j++)         if (j-v[i]>=0)           f[j]+=f[j-v[i]];       cout<<f[n];       return 0;}

0 0
原创粉丝点击