题目描述
小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元。
问小明有多少种买书方案?(每种书可购买多本)
输入
一个整数 n,代表总共钱数。(0 ≤ n ≤ 1000)
输出
一个整数,代表选择方案种数。
样例输入
20
样例输出
2
#include <bits/stdc++.h>
using namespace std;
int dp[1005];
int main()
{
int n;
while ( cin >> n )
{
memset ( dp, 0, sizeof ( dp ) );
if ( !n )
{
cout << 0 << endl;
continue;
}
int a[4] = {10, 20, 50, 100};
dp[0] = 1;
for ( int i = 0; i < 4; i++ )
for ( int j = a[i]; j <= n; j++ )
dp[j] += dp[j - a[i]]; //自带k循环
cout << dp[n] << endl;
}
return 0;
}