收银机:实现一个收银机的功能,输入应付金额和实付金额,输出钞票最少的找零方案。
环境是HW内部的oj,要求60分钟做两题,一题初级难度,一题中级难度。
解法:
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner cin = new Scanner(System.in);
int a = cin.nextInt();
int b = cin.nextInt();
String result = computer(a, b);
System.out.println(result);
}
public static String computer(int a,int b){
int a1,a2,a3,a4,a5,m;
int a11=0,a22=0,a33=0,a44=0,a55=0;
if(b<a){
return "null";
}else if(b>=a){
m = b-a;
a1=m/50;
a2=(m%50)/20;
a3=(m%50%20)/10;
a4=(m%50%20%10)/5;
a5=m%50%20%10%5;
a11+=a1;
a22+=a2;
a33+=a3;
a44+=a4;
a55+=a5;
}
if(50*a11+20*a22+10*a33+5*a44+1*a55>100){
return "null";
}
return String.valueOf(a11)+String.valueOf(a22)+String.valueOf(a33)+String.valueOf(a44)+String.valueOf(a55);
}
}
上面的代码通过oj的测试用例。