新西兰的硬币
#include <iostream>
#include <cstring>
using namespace std;
int currency[]={1,2,4,10,20,40,100,200,400,1000,2000};
long long num[6001];
int main()
{
memset(num,0,sizeof(num));
num[0]=1;
for(int i=0;i<11;i++)
for(int j=currency[i];j<=6000;j++)
num[j]+=num[j-currency[i]];//类似于某种递归 ,状态转移方程
double a;
while(~scanf("%lf",&a)&&a)
{
int aa=(int)(a*100+0.5);
printf("%6.2lf%17lld\n",a,num[aa/5]);
}
return 0;
}