2023 网易雷火笔试题 0820
笔试时间:2023年8月20日 秋招
注:第三、四题暂无题解
第一题
题目:猜数字游戏
雷火小师妹正在参加一个猜数字游戏。游戏规则如下:
1.系统会随机一个整数作为答案;
2.小师妹每次可以输入一个猜测的数字;
3.如果猜测的数字与答案相等,则游戏结束,输出“congratulations! You guessed it right!”;
4.如果猜测的数字大于答案,则系统会输出“It's too big,please keep guessing!”;
5.如果猜测的数字小于答案,则系统会输出“It's too small,please keep quessing!”;
6.每次小师妹猜测后数值会缩小猜测范围,如果当前猜测的数字在范围之外,则系统会输出“Are you kidding me?”;
7.小师妹会猜测直到游戏结束,也就是说,小师妹会在最后一次猜对数字;
请你编写一个程序,模拟这个猜数字游戏的过程,并根据小师妹的猜测输出相应的提示信息。
输入描述
第一行输入一个整数n,表示小师妹猜测了n次。 (1 < n < 300)
接下来输入n行,每行有一个整数ai,表示当前小师妹猜测的数值。
1 < i < n, 1 < ai < 1000
输出描述
根据小师妹猜测的结果,输出相应的提示信息。
样例输入
5
10
99
1
40
33
样例输出
It's too small,please keep quessing!
It's too big,please keep guessing!
Are you kidding me?
It's too big,please keep guessing!
congratulations! You guessed it right!
参考题解
Java:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); final int N = 304; int[] a = new int[N]; int n = scanner.nextInt(); for (int i = 1; i <= n; i++) { a[i] = scanner.nextInt(); } int ans = a[n]; int l = 0, r = 1004; for (int i = 1; i <= n; i++) { int x = a[i]; if (x < l || x > r) { System.out.println("Are you kidding me?"); } else if (x < ans) { System.out.println("it's too small, please keep guessing!"); l = x + 1; } else if (x > ans) { System.out.println("it's too big, please keep guessing!"); r = x - 1; } else { System.out.println("congratulations! You guessed it right!"); break; } } } }
Python:
N = 304 a = [0] * N n = int(input()) for i in range(1, n + 1): a[i] = int(input()) ans = a[n] l, r = 0, 1004 for i in range(1, n + 1): x = a[i] if x < l or x > r: print("Are you kidding me?") elif x < ans: print("it's too small, please keep guessing!") l = x + 1 elif x > ans: print("it's too big, please keep guessing!") r = x - 1 else: print("congratulations! You guessed it right!") break
第二题
题目:卡牌配置
雷火小师妹最近在攻略某个卡牌游戏,下副本的时候对副本的机制产生了兴趣,希望你帮他算算最优的刷副本方式。
假设小师妹持有A,B两种卡牌,小师妹在副本准备阶段,可以得知这个关卡的地图分布,地图为一个n行m列的矩阵格子,每个格子上必须放置且仅能放置一张卡牌。0 < m,n < 6。小师妹可以决定在本关卡中A和B卡牌的配比,当小师妹决定好A、B卡牌放置数量后,系统会将A、B以随机分布的形式填充到矩阵中。A卡牌产出为0,B卡牌产出为c,c为正整数。当B卡牌与A卡牌相邻时(九宫格范围内都算相邻,即八个方向都算),B卡牌的产出变为原先的d倍,d为大于1的正数当B与多个A相邻时,翻倍效果叠加(例如B1与A1,A2,
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
2023秋招各大笔试题汇总,c++,java,python多种语言分析,解答。