uva147 - Dollars-------水题(精度注意)

来源:互联网 发布:苹果软件购买记录 编辑:程序博客网 时间:2024/05/22 08:02
#include<cstdlib>#include<iostream>#include<cstdio>#include<cmath>#include<set>#include<cstring>#include <algorithm>#define inf 0x7fffffff#define N 6005#define MIN 1e-11#define M 100#define LL long longusing namespace std;int n,k,h,t,m;long long a[N];int my[20]={0,1,2,4,10,20,40,100,200,400,1000,2000};int main(){#ifndef ONLINE_JUDGE    freopen("ex.in","r",stdin);#endif//    scanf("%d%*c%*c",&t);    double temp;    while(scanf("%lf",&temp)&&temp!=0.00)    {        printf("%6.2lf",temp);        memset(a,0,sizeof(a));//        n=temp*100;//不正确!!        n=floor(temp*100+0.5);//精度问题        n/=5;        for(int i=1;i<12;i++)        {            a[my[i]]++;            for(int j=my[i]+1;j<=n;j++)            {                a[j]+=a[j-my[i]];            }        }        printf("%17lld\n",a[n]);    }    return 0;}