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 秋招笔试题汇总解析 文章被收录于专栏

2023秋招各大笔试题汇总,c++,java,python多种语言分析,解答。

全部评论

相关推荐

海螺很能干:每次看到这种简历都没工作我就觉得离谱
点赞 评论 收藏
分享
03-13 16:51
已编辑
门头沟学院 硬件开发
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

更多
牛客网
牛客企业服务