收银机:实现一个收银机的功能,输入应付金额和实付金额,输出钞票最少的找零方案。
环境是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的测试用例。
时间: 2024-10-10 16:56:12