【题目描述】
小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元。
问小明有多少种买书方案?(每种书可购买多本)
【输入】
一个整数 n,代表总共钱数。(0≤n≤1000)
【输出】
一个整数,代表选择方案种数。
【输入样例】
20
【输出样例】
2
【提示】
样例输入
样例输入2:
15
样例输入3:
0
#include<bits/stdc++.h>
using namespace std;
int a[4]={10,20,50,100},f[1010];
int main()
{
int n;
scanf("%d",&n);
f[0]=1;//减到0时,正好买一本,但这样会使0元买一本了,能通过
for(int i=0;i<4;i++)
for(int j=a[i];j<=n;j+=10)//最小的步值是10,其它有余数的为0,不判断了
f[j]=f[j]+f[j-a[i]];
if(n)
printf("%d\n",f[n]);
else//这样来测0元了
printf("0\n");
return 0;
}