前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >蓝桥杯 真题 测试次数(详解)--------Five-菜鸟级

蓝桥杯 真题 测试次数(详解)--------Five-菜鸟级

作者头像
Fivecc
发布2022-11-21 15:55:37
3300
发布2022-11-21 15:55:37
举报
文章被收录于专栏:前端ACE

 测试次数 x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。 各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手机耐摔指数=7。 特别地,如果手机从第1层扔下去就坏了,则耐摔指数=0。 如果到了塔的最高层第n层扔没摔坏,则耐摔指数=n为了减少测试次数,从每个厂家抽样3部手机参加测试。某次测试的塔高为1000层,如果我们总是采用最佳策略,在最坏的运气下最多需要测试多少次才能确定手机的耐摔指数呢?请填写这个最多测试次数。注意:需要填写的是一个整数,不要填写任何多余内容。

此题 答案为19  通过关系式 (K^3+5K)/6>=1000  (下为详解)

解题思路:

  先说说题意 

    一共 1000 层   某款手机的耐摔指数 为 1~1000的任何值(超出1000 也按1000算),每款手机只有三部一模一样的手机给我们测试用 也就是说 我们最多摔坏3次 而且 最后一次摔坏的层数就是该款手机的耐摔指数。你就需要制定一个最优的方案 适用与所有不同的手机测试并且测试次数要小于等于最坏情况下的次数。(最坏情况 就是 一个边界测试次数,无论手机的耐摔指数是多少,总能在这个边界测试次数前 找到该手机的耐摔指数)

   此题 二分肯定莫法搞 只有 3部手机 ,如果 手机耐摔指数为10 你二分 先来500层 一扔 碎了 再来250层 又碎了 就剩一部手机了 咋办  你难道要扔 125 ,此时 你莫法 只有从老老实实从第一层 开始扔 才能扔到第10层测出结果,这样你就会扔 1+1+10 =12 次 ,需要测试12次 才能得到 该手机的耐摔指数,可是如果 该手机的耐摔指数为 249 哪 按照二分 就得  1+1+249=251次。所以必须另辟思路

如果 只有一部手机给你测试 哪只能 从第一层开始扔 最坏情况就是 从1扔到 1000层去,最坏情况就是1000次

如果 只有二部手机给你测试 ,这时候 就相当于多了一次机会 可以博上一博 减少点测试次数(准确的说是减少最坏情况下的测试次数),这个时候就需要假设一下了 ,最坏测试次数为 k 次  ,也就是说 无论你手机的耐摔指数为多少(1000内), 我都能通过k次测试 找到,那么想想

  如此类推 可以得到其4部手机 5部 手机等

代码 就随便写了

代码语言:javascript
复制
#include<stdio.h>
int main(){
    int i;
      for(i=0;i<100;i++)
	   if((i*i*i+i*5)/6>=1000)break;
	   printf("%d\n",i);
	return 0;
} 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档