閱讀454 返回首頁    go 阿裏雲 go 技術社區[雲棲]


九度1549:貨幣問題

題目描述:
已知有麵值為1元,2元,5元,10元,20元,50元,100元的貨幣若幹(可認為無窮多),需支付價格為x的物品,並需要恰好支付,即沒有找零

產生。
求,至少需要幾張貨幣才能完成支付。
如,若支付價格為12元的物品,最少需要一張10元和一張2元,即兩張貨幣就可完成支付。


輸入:
輸入包含多組測試數據,每組僅包含一個整數p(1<=p<=100000000),為需支付的物品價格。


輸出:
對於每組輸入數據,輸出僅一個整數,代表最少需要的貨幣張數。


樣例輸入:
10
11
13
樣例輸出:
1
2
3
來源:
2014年王道論壇研究生機試練習賽(二)

 

#include<stdio.h>

int main()
{
    int i,n,sum;
    while(scanf("%d",&n)!=EOF)
    {
       sum=0;i=0;
       if(n>=100)
       {
          sum+=n/100;
          n-=100*(n/100);
       }
       if(n>=50&&n<100)
       {
          sum+=n/50;
          n-=50*(n/50);
       }
       if(n>=20&&n<50)
       {
          sum+=n/20;
          n-=20*(n/20);
       }
       if(n>=10&&n<20)
       {
          sum+=n/10;
          n-=10*(n/10);
       }
       if(n>=5&&n<10)
       {
          sum+=n/5;
          n-=5*(n/5);
       }
       if(n>=2&&n<5)
       {
          sum+=n/2;
          n-=2*(n/2);
       }
       if(n>=1&&n<2)
       {
          sum+=n/1;
          n-=1*(n/1);
       }
       printf("%d\n",sum);
    }
    return 0;
}


最後更新:2017-04-03 12:55:21

  上一篇:go 連載:麵向對象葵花寶典:思想、技巧與實踐(14) - 麵向對象開發技術流程
  下一篇:go 2013藍橋杯【初賽試題】高斯日記