【小红书笔试题汇总】[全网首发]2024-03-29-小红书春招笔试题-三语言题解(CPP/Python/Java)

04-10 1603阅读

🍭 大家好这里是KK爱Coding ,一枚热爱算法的程序员

✨ 本系列打算持续跟新小红书近期的春秋招笔试题汇总~

【小红书笔试题汇总】[全网首发]2024-03-29-小红书春招笔试题-三语言题解(CPP/Python/Java)

💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导

👏 感谢大家的订阅➕ 和 喜欢💗

本次的三题全是今年小红书春招前两场的原题~

文章目录

  • 本次的三题全是今年小红书春招前两场的原题~
    • 01.K小姐的魔法卡牌
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码
      • 02.K小姐的新书推广计划
        • 问题描述
        • 输入格式
        • 输出格式
        • 样例输入
        • 样例输出
        • 数据范围
        • 题解
        • 参考代码
        • 03.K小姐的博客点赞奇观
          • 问题描述
          • 输入格式
          • 输出格式
          • 样例输入
          • 样例输出
          • 数据范围
          • 题解
          • 参考代码
          • 写在最后
          • 📧 KK这边最近正在收集近一年互联网各厂的笔试题汇总,如果有需要的小伙伴可以关注后私信一下 KK领取~

            01.K小姐的魔法卡牌

            问题描述

            K小姐是一位魔法卡牌游戏的高手。在这个游戏中,每位玩家都有若干张卡牌,每张卡牌上都有一个魔法效果。其中有一张名为"毁灭之光"的卡牌,可以消灭对手场上最左边和最右边的随从。另一张卡牌名为"狙击射击",可以随机消灭对手场上的一个随从。

            现在,K小姐想知道,如果她使用两张"狙击射击"卡牌,恰好消灭了对手场上最左边和最右边的随从(即达到了一张"毁灭之光"卡牌的效果),这种情况发生的概率是多少。注意,两张"狙击射击"卡牌是按顺序使用的,因此不会消灭同一个随从。

            输入格式

            输入仅一行,包含一个正整数 n n n,表示对手场上随从的数量。

            输出格式

            输出仅一行,包含一个实数,表示K小姐达成"毁灭之光"效果的概率,结果四舍五入保留 10 10 10 位小数。

            样例输入

            2
            

            样例输出

            1.0000000000
            

            数据范围

            1 ≤ n ≤ 1 0 5 1 \leq n \leq 10^5 1≤n≤105

            题解

            设对手场上有 n n n 个随从,我们可以将这 n n n 个随从从左到右编号为 1 , 2 , … , n 1, 2, \dots, n 1,2,…,n。

            如果 n = 1 n = 1 n=1,则无论如何都无法达成"毁灭之光"的效果,概率为 0 0 0。

            如果 n = 2 n = 2 n=2,则两张"狙击射击"卡牌必然能达成"毁灭之光"的效果,概率为 1 1 1。

            如果 n ≥ 3 n \geq 3 n≥3,则第一张"狙击射击"卡牌有 2 n \frac{2}{n} n2​ 的概率消灭最左边或最右边的随从,第二张"狙击射击"卡牌有 1 n − 1 \frac{1}{n-1} n−11​ 的概率消灭剩下的最左边或最右边的随从,因此达成"毁灭之光"效果的概率为 2 n ⋅ 1 n − 1 \frac{2}{n} \cdot \frac{1}{n-1} n2​⋅n−11​。

            综上所述,K小姐达成"毁灭之光"效果的概率为:

            P = { 0 , n = 1 1 , n = 2 2 n ( n − 1 ) , n ≥ 3 P = \begin{cases} 0, & n = 1 \\ 1, & n = 2 \\ \frac{2}{n(n-1)}, & n \geq 3 \end{cases} P=⎩ ⎨ ⎧​0,1,n(n−1)2​,​n=1n=2n≥3​

            参考代码

            • Python
              n = int(input())
              if n 

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]