当前位置:编程学习 > C/C++ >>

147 - Dollars

[cpp]
描述:可恶的精度问题,真让人受不了了了了了…… 
#include <cstdio>  
long long s[6010]; 
int v[13]= {1,2,4,10,20,40,100,200,400,1000,2000}; 
void solve() 

    s[0]=1; 
    for(int i=0; i<11; i++) 
        for(int j=v[i]; j<6010; j++) 
            s[j]+=s[j-v[i]]; 
    s[6009]=0; 

int main() 

    int n; 
    solve(); 
    double x; 
 //   freopen("a.txt","r",stdin);  
    while(scanf("%lf",&x)!=EOF) 
    { 
        n=(x*100+0.5); 
        if(!n) break; 
        if(n%5!=0) printf("%6.2lf%17lld\n",x,s[6009]); 
        else printf("%6.2lf%17lld\n",x,s[n/5]); 
    } 
    return 0; 

描述:可恶的精度问题,真让人受不了了了了了……
#include <cstdio>
long long s[6010];
int v[13]= {1,2,4,10,20,40,100,200,400,1000,2000};
void solve()
{
    s[0]=1;
    for(int i=0; i<11; i++)
        for(int j=v[i]; j<6010; j++)
            s[j]+=s[j-v[i]];
    s[6009]=0;
}
int main()
{
    int n;
    solve();
    double x;
 //   freopen("a.txt","r",stdin);
    while(scanf("%lf",&x)!=EOF)
    {
        n=(x*100+0.5);
        if(!n) break;
        if(n%5!=0) printf("%6.2lf%17lld\n",x,s[6009]);
        else printf("%6.2lf%17lld\n",x,s[n/5]);
    }
    return 0;
}

 

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,