题目描述
Z国的货币系统包含面值1元、4元、16元、64元共计4种硬币,以及面值1024元的纸币。现在小Y使用1024元的纸币购买了一件价值为N(0<N≤1024)N(0<N≤1024)的商品,请问最少他会收到多少硬币?
输入描述:
一行,包含一个数N。
输出描述:
一行,包含一个数,表示最少收到的硬币数。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
scanner.close();
int resultMoney = 1024 - n, count=0;
int[] coinMoney = new int[]{1,4, 16, 64};
int index = 3;
while (resultMoney!=0) {
count = count + resultMoney/coinMoney[index];
resultMoney = resultMoney%coinMoney[index];
--index;
}
System.out.println(count);
}
}