2020年联通软件研究院校招笔试第三题
生活随笔
收集整理的这篇文章主要介绍了
2020年联通软件研究院校招笔试第三题
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
题目描述:
解题思路:
直接从50元开始尝试,然后尝试10元,再然后5元,再然后一元。
然后处理小数部分。
解题代码:
import java.util.Scanner;public class Main3 {public static void main(String[] args) {int[] l = {50, 10, 5, 1};//只有这四种钱吧(没有20元,也没有两元)int[] res = new int[l.length];Scanner in = new Scanner(System.in);String input1 = in.nextLine().trim();double i1 = Double.valueOf(input1.split(" ")[0]);double i2 = Double.valueOf(input1.split(" ")[1]);String input = String.valueOf(i2 - i1);int n, m;n = Integer.valueOf(input.split("\\.")[0]);if (input.contains(".")) {m = Integer.valueOf(input.split("\\.")[1]);} else {m = 0;}for (int i = 0; i < l.length; i++) {if (n / l[i] != 0) {res[i] = n / l[i];n = n % l[i];}}StringBuilder s1 = new StringBuilder();s1.append(input).append(" ");for (int i = 0; i < l.length; i++) {if (res[i] != 0) {s1.append(l[i]).append(":").append(res[i]).append(";");}}if (m > 5) {s1.append("0.5:1;").append("0.1:").append(m - 5).append(";");} else if (m == 5) {s1.append("0.5:1;");} else if (m < 5 && m > 0) {s1.append("0.1:").append(m).append(";");}System.out.println(s1);} }输出结果
提交
总结
以上是生活随笔为你收集整理的2020年联通软件研究院校招笔试第三题的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 2020年联通软件研究院校招笔试第一题
- 下一篇: 中国移动雄安研究院 2020校园招聘笔试