📄 computechange.java
字号:
package problem_2;
//ComputeChange.java
import java.io.*;
public class ComputeChange {
public static void main(String[] args){
try{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Total amount of money = ");
Double sum = Double.valueOf(br.readLine()); //读入总钱数
solve(sum.doubleValue()); //分钱
}
catch(IOException e){
System.out.println(e);
}
}
//分钱,传入参数sum为总钱数,打印所有可能分法
public static void solve(double sum){
int remain = (int)(sum * 100); //记录剩余cent量
int solutionNum = 0; //记录分法总数
System.out.println("Solutions: ");
for(int i = remain / 100; i >= 0 ; i--){ //按1 dollar进行拆分
remain -= i * 100;
for(int j = remain / 25; j>=0; j--){ //按25 cent进行拆分
remain -= j * 25;
for(int k = remain / 10; k >= 0; k--){ //按10 cent进行拆分
remain -= k * 10;
for(int l = remain / 5; l >= 0; l--){ //按5 cent进行拆分
remain -= l * 5;
solutionNum++;
//输出分法编号及具体分法
System.out.println("Solution " + solutionNum + ": ");
System.out.println("Number of $1.00: " + i);
System.out.println("Number of $0.25: " + j);
System.out.println("Number of $0.10: " + k);
System.out.println("Number of $0.05: " + l);
System.out.println("Number of $0.01: " + remain);
System.out.println();
remain += l * 5;
}
remain += k * 10;
}
remain += j * 25;
}
remain += i * 100;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -