💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## 1. 汽水瓶 题目描述: ``` 某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。 小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。 数据范围:输入的正整数满足1<=n<=100 注意:本题存在多组输入。输入的 0 表示输入结束,并不用输出结果。 ``` 题目解析: ``` 通过循环遍历模拟兑换汽水瓶的过程,一开始一共有n瓶,设置一个变量count存储总共能换多少瓶,n / 3 得到这次能换多少瓶,n = n % 3 得到换完后剩下不够换的瓶数,再加上换到的瓶数等于下次去换的瓶数,这样遍历循环,直到n总数不够换,需要注意特殊情况就是如果n == 2,这时可以向商店老板再借一个瓶子,然后换到后再换给他,此时还能再换一次。 ``` ``` import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while(scanner.hasNextInt()){ int n = scanner.nextInt(); if(n == 0){ break; } System.out.println(num(n)); } } public static int num(int n){ int count = 0; while(n >= 3){ //能换多少瓶 int t = n / 3; count += t; //不够换的瓶数 n %= 3; //换好后的总瓶数 n += t; //特殊情况 if(n == 2){ //借一瓶 n++; } } return count; } } ``` ## 2. 明明的随机数 题目描述: ``` 明明生成了NN个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。 数据范围: 1≤n≤1000 1≤n≤1000  ,输入的数字大小满足 1≤val≤500 1≤val≤500 ``` ``` import java.util.Scanner; import java.util.Set; import java.util.TreeSet; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); //全部转换为小写 int num = in.nextInt(); //构造一个TreeSet结构(二叉树),实现数字去重、排序 TreeSet<Integer> set = new TreeSet<>(); //对输入的数字进行遍历,每遍历一个数字,就将该数字记录到Set中 for(int i = 0; i < num; i++){ int randomNumer = in.nextInt(); set.add(randomNumer); } // 遍历输出每个整数 set.forEach(System.out::println); // 关闭资源 in.close(); } } ```