程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 147 - Dollars

147 - Dollars

編輯:C++入門知識

[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;
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved