1530: 快速找钱
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 5 Solved: 3
Description
老王的杂货店雇用了一个便宜的伙计来看店子.他雇用的伙计(通常是高中生)经常在找钱的时候出错.吝啬的老王认为由于伙计的错误造成的经济损失比他自己的错误造成的经济损失大,也就是伙计容易找更多的零钱给顾客.
老王想让你写一个程序计算一个顾客能得到的零钱.零钱由0.25美圆硬币,0.1美圆硬币,0.05美圆硬币和0.01美圆硬币组成.当顾客的零钱小于5美圆时,希望给顾客硬币,并且硬币的总数最少.比如如果零钱为1.24美圆,顾客应该得到4个0.25硬币,2个0.1硬币,0个0.05硬币,4个0.01硬币.
Input
第一行包含一个整数N,表示测试用例个数.每一个测试用例占一行,包含一个整数C,表示顾客应得到的零钱(单位:美分)(1<=C<=500).
Output
对每一个测试用例,输出测试用例号,空格和字符串
Q QUARTER(S) ,D DIME(S), n NICKEL(S), P PENNY(S)
其中Q是0.25美圆硬币的个数,D是0.1美圆硬币的个数,n是0.05美圆的硬币的个数,P是0.01美圆硬币的个数.
Sample Input
312425194
Sample Output
1 4 QUARTER(S), 2 DIME(S), 0 NICKEL(S), 4 PENNY(S)2 1 QUARTER(S), 0 DIME(S), 0 NICKEL(S), 0 PENNY(S)3 7 QUARTER(S), 1 DIME(S), 1 NICKEL(S), 4 PENNY(S)
HINT
Source
签到题,不解释
Accepted |
916
|
0
|
C++/Edit | 719 B | 2013-05-08 20:00:49 |
#include<stdio.h> int main() { int n; int total; scanf("%d", &n); for(int i = 1; i <= n; i++) { int q, d, n, p; q = d = n = p = 0; scanf("%d", &total); if(total >= 25) { q = total/25; total = total - q*25; } if(total >= 10) { d = total/10; total -= d*10; } if(total >= 5) { n = total/5; total -= n*5; } p = total; printf("%d %d QUARTER(S), %d DIME(S), %d NICKEL(S), %d PENNY(S)\n",i,q,d,n,p); } return 0; }