时间限制:1 秒
内存限制:128 兆
特殊判题:否
提交:860
解决:476
- 题目描述:
-
已知有面值为1元,2元,5元,10元,20元,50元,100元的货币若干(可认为无穷多),需支付价格为x的物品,并需要恰好支付,即没有找零产生。求,至少需要几张货币才能完成支付。
如,若支付价格为12元的物品,最少需要一张10元和一张2元,即两张货币就可完成支付。
- 输入:
-
输入包含多组测试数据,每组仅包含一个整数p(1<=p<=100000000),为需支付的物品价格。
- 输出:
-
对于每组输入数据,输出仅一个整数,代表最少需要的货币张数。
- 样例输入:
-
10 11 13
- 样例输出:
-
1 2 3
#include<stdio.h> int p; int main(int argc, char *argv[]) { while(~scanf("%d",&p)){ int cnt=0; cnt+=p/100; p%=100; cnt+=p/50; p%=50; cnt+=p/20; p%=20; cnt+=p/10; p%=10; cnt+=p/5; p%=5; cnt+=p/2; p%=2; cnt+=p%2; printf("%d\n",cnt); } return 0; } /************************************************************** Problem: 1549 User: kirchhoff Language: C Result: Accepted Time:20 ms Memory:912 kb ****************************************************************/
时间: 2024-08-26 11:21:34