轻松的编程学习
首页
题库
学习路径
在线商城
能力地图
下载应用
登录 / 注册
菜单
⚠️ 二分省了多少次测试
👁️ 3 人浏览
💬 0 人评论
❤️ 添加收藏
输出三样:
二分实测次数 / 二分最坏次数 / 逐个试最坏次数
。
提交你的答案
请登录后提交答案。
去登录
← 数出二分测了哪几次
发现改错了,第一个该问的问题 →
更多题目
让程序说出"你好"
让程序欢迎你
哪个命令能显示内容
哪里是指令,哪里是结果
让程序说出你的名字
这个程序会显示什么
代码编辑器
语言:
python3
c11
cpp17
Ctrl
+
Enter
运行
👩🏫 AI
▶ 运行代码
重置代码
打印代码
import math hist = [('a11c3f2', '初始化项目'), ('b22d4e0', '加上加法'), ('c33e5f8', '加上减法'), ('d44f6a1', '加上除法'), ('e55a7b2', '加上取模'), ('f66b8c3', '改进提示文案'), ('g77c9d4', '加上开方')] ids = [h for h, _ in hist] bad_from = ids.index("d44f6a1") def bisect(ids, is_bad): good = 0 bad = len(ids) - 1 tried = [] # TODO: 只要 good 和 bad 还不相邻就取中点测一次,测过的 id 记进 tried # TODO: 中点是坏的就把 bad 挪过来,是好的就把 good 挪过来 return ids[bad], tried found, tried = bisect(ids, lambda x: ids.index(x) >= bad_from) n = 5 # 待测区间:第 1 次已知好、第 7 次已知坏,中间 5 次 print(str(len(tried)) + "/" + str(math.ceil(math.log2(n + 1))) + "/" + str(n))
本次输入:
输出:
👩🏫
AI
请登录后使用 AI 老师
×
登录后可获得解题思路、提示与错误分析。
去登录
关闭
🎉
恭喜你,回答正确!
系统判定:正确
我知道了
💬 题目评论
提交
全部评论
全部评论