-
题目描述:
-
已知有面值为1元,2元,5元,10元,20元,50元,100元的货币若干(可认为无穷多),需支付价格为x的物品,并需要恰好支付,即没有找零产生。
求,至少需要几张货币才能完成支付。
如,若支付价格为12元的物品,最少需要一张10元和一张2元,即两张货币就可完成支付。
-
输入:
-
输入包含多组测试数据,每组仅包含一个整数p(1<=p<=100000000),为需支付的物品价格。
-
输出:
-
对于每组输入数据,输出仅一个整数,代表最少需要的货币张数。
-
样例输入:
-
10 11 13
-
样例输出:
-
1 2 3
import java.util.*; import java.math.*; public class Main { public static void main(String args[]) { Scanner cin = new Scanner(System.in); while (cin.hasNext()) { int p = cin.nextInt(); int left = p; int n100 = left / 100; left = left % 100; int n50 = left / 50; left = left % 50; int n20 = left / 20; left = left % 20; int n10 = left / 10; left = left % 10; int n5 = left / 5; left = left % 5; int n2 = left / 2; left = left % 2; System.out.println(n100 + n50 + n20 + n10 + n5 + n2 + left); } } }