有5个面值的硬币,分别为1分、5分、10分、25分、50分。输入一个钱数s,输出组合方案数量。
答案:
#include<iostream>
using namespace std;
const int inf=0x3f3f3f3f;
int a[5]={1,5,10,25,50};
int d[251];
int n;
int main(){
d[0]=1;
for(int i=0;i<5;i++){
for(int j=a[i];j<251;j++){
d[j]=d[j]+d[j-a[i]];
}
}
while(~scanf("%d",&n))
printf("%d\n",d[n]);
return 0;
}