看商品猜价格:二分法查找

使用二分法完成一个简单的猜商品价格算法 package cn.kimtian.array.one; import java.util.Scanner; /** * 题目:出示一个任意价格的商品(在XXX-XXX元内),参与者要猜这件商品的价格,然后会有人给出相应高了或低了的提示,直到猜出这个价格为止 * 使用二分法来 * * @author kimtian */ public class AlgorithmOne { ... 阅读详情

实例:看商品猜价格

首先出示一件价格在99元以内的商品,参与者要猜出这件商品的价格。在猜价格的过程中,主持人会根据参与者给出的价格,相应地给出“高了”或“低了”的提示。


如果商品的价格是40

二分法猜商品价格:

  

次数

价格区间

中间值

 

第 1 次

0~99

50

高了

第 2 次

0~50

25

低了

第 3 次

25~50

≈38

低了

第 4 次

38~50

42

高了

第 5 次

38~42

40

正好

 

                       

每次都取两个数中间的数,把这个数和最终的数相比较,通过这样的比较,缩小查找的范围,找到最终要找的数。


代码实现:

#include <iostream> 
#include <stdlib.h>
int main()
{
     int oldprice,price=0,i=0;   //oldprice实际商品的价格,price游戏参与者猜的价格 ,i猜的次数 
     printf("请首先设置商品的真实价格:");  
     scanf("%d",&oldprice);
     system("cls");  //清屏 
     printf("请输入试猜的价格:\n");
     while(oldprice!=price)  //实际价格和参与者价格不同,继续循环 
     {
        i++;
        printf("参与者:"); 
        scanf("%d",&price);
        printf("主持人:") ;
        if(price>oldprice)
        {
            printf("高了\n");                  
        }
        else if(price<oldprice)
        {
            printf("低了\n");
        }
        else
        {
            printf("恭喜你,答对了,该商品属于你了!\n\n你一共试猜了%d次.\n",i);
        }        
     }
     system ("pause");//输出完结果后停在控制台
     return 0;    
}

结果:

      


二分法可以这么理解:有一块蛋糕,蛋糕上面有一颗草莓,现在要找到这颗草莓的具体,我们先把蛋糕分为两块,在这两块中查找,再将有草莓的那块分为两块,继续这样分下去,最终确定草莓的具体位置(这里是等分为两块,这个例子也可以说的分块查找,但是分块查找与二分法不等价)

 

二分法查找要求线性表是有序表,即表中结点按关键字有序。只适用于顺序存储结构。二分法查找为保持表的有序性,在顺序结构里插入和删除都必须移动大量的结点。所以二分法查找特别适用于一经建立就很少改动,但又经常需要查找的线性表。

【LE Audio】CAP精讲[1]: 从理论到实操,CAP 协同流程入门全攻略 LEAudio生态中的CommonAudioProfile(CAP)是一个关键协同框架,它通过整合基础音频协议(BAP/VCP/MICP等)构建多设备协同能力。CAP定义了三大核心功能:音频流管理、设备组控制和统一交互服务,解决了传统蓝牙音频在多设备场景下的协同痛点。其规范历经v1.0到v1.0.1的优化,修正了角色定义、连接流程等关键模块,提升设备兼容性。CAP采用严格的语言约定(shall/must/should)和术语体系(ContextType/CCID/协同集),确保不同厂商设备能相互理解。 阅读详情

相关推荐

最全软考高项工具技术总结(上)

第四版教材把工具和技术分为:数据收集技术、数据分析技术、数据表现技术、决策技术、沟通技巧、人际关系和团队技能、其他。我会按照上面的分类总结说明并标识他们用在哪些过程。小伙伴们可以通读理解做到有印象能选对应付上午选择,选几个深化用在下午论文的举例中。没必要背!

PM喵的窝 2044

分巧克力

儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。 为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足: 形状是正方形,边长是整数 大小相同 例如一块6x5的巧克力可以切出6块2x2的巧克力或者2块3x3的巧克力。 当然小朋友们都希望得到的巧克力尽可能大,你能帮小Hi计算出最大的边长是多少么? 输入格式: 第一行包含两个整数N和K。(1 <= N, K <=

黄大仙 604

CCS配置MSPM0G3507(七) 编码器(TIMER-QEI)

1.选择时钟源 BUSCLK2.时钟分频配置为1分频3.分频系数配置为14.若勾选 Start ,则生成程序后会自动开启定时器的计数,否则需手动在程序中开启5.Load Value 设置为65535。

kaneki_lh的博客 1万+

经典算法之二分法

二分法

子夜的个人博客 1353

保姆级教程:手把手教你给联想System x 3650 M5服务器配置RAID 5并U盘装系统

本文提供联想System x 3650 M5服务器配置RAID 5并U盘安装系统的详细教程,特别适合零基础运维人员。从准备工作、RAID 5配置到U盘引导和系统安装,涵盖全流程关键步骤与常见问题解决方案,帮助用户高效完成服务器部署。

weixin_42535703的博客 357

IEEE论文投稿必看:PDF eXpress报错font not embedded的3种修复方法(附Adobe Acrobat DC操作截图)

本文针对IEEE论文投稿时PDF eXpress系统常见的“font not embedded”报错,提供了三种核心修复方案。首先,详细解析了使用Adobe Acrobat DC进行专业修复的完整操作流程与关键技巧。其次,介绍了无需付费软件的开源与免费工具链(如Ghostscript)解决方案。最后,从源头出发,指导LaTeX和Microsoft Word用户在生成PDF时正确设置以确保字体自动嵌入,帮助研究者彻底解决格式问题,确保投稿顺利。

ujm56789012的博客 516

在C语言中使用二分法算法思想解决猜商品价格问题

电视抽奖活动中,根据主持人给出的提示(高了还是低了),观众在规定时间内猜中该商品价格即可获得该商品 所谓的二分查找法,其实是一种有序的查找方法,也称折半查找(Binary Search),如果是无序的则要先进行排序操作。基本思想是:目标值通过与中间元素比较,可分为三种情况: 第一种情况:目标值与中间元素相等,查找结束; 第二种情况:目标值比中间元素大,则把后半部分的中间元素与目标值比较; 第二种情...

姚蔚敏的博客 1874

OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南——OpenClaw的赚钱底层逻辑与“记忆”革命

AI 的商业价值不在于替代思考,而在于沉淀关系。当 Agent 记住你的偏好、你的历史、你的目标,它就不再是冷冰冰的软件,而是成为数字化的关系资产。这种资产的稀缺性不在于技术复杂度,而在于时间无法被压缩——你无法用更好的算法替代 3 个月的协作记忆。在这场“记忆革命”中,护城河不是模型参数,而是用户与 AI 共同书写的历史。OpenClaw 用一套优雅的文件系统架构,将这种历史转化为可积累、可复用、可变现的数字资产。从“计算即服务”(CaaS)到“记忆即服务”(MaaS)。

冯·诺依曼 1341

【Algorithm】基础算法学习

1.猜价格游戏 #include #include int main(void) { int oldprice,price = 0 ,i= 0; printf("请输入真实商品的价格:"); scanf("%d",&oldprice); system("cls"); printf("请输入试猜的价格:\n"); while(oldprice != price) { i++

NCITS的专栏 1067

IEC 61850标准协议解读 3.MMS服务

摘要:本文系统介绍了MMS(制造报文规范)的基础知识及其在IEC61850中的应用。首先解析MMS的核心定义、通信流程(带确认/不带确认服务)、虚拟制造设备(VMD)概念及核心对象(域/有名变量等)。重点阐述IEC61850与MMS的映射关系,包括对象分层映射、服务转换规则及数据类型对应。深入分析ASN.1编解码机制,说明MMS PDU的分层结构与解码流程。最后通过典型报文案例(报告服务、控制服务、文件传输等)和通信初始化流程,展示MMS在智能变电站中的实际应用。全文揭示了MMS作为抽象应用层协议如何通过标

张二狗的博客 724

CloudCompare 二次开发(41)——点云重建三维凸包并计算体积

本文介绍了如何结合PCL与CloudCompare实现点云三维凸包的构建与可视化。通过代码集成,在CloudCompare界面添加功能按钮,实现点云数据转换、凸包构建、体积计算以及可视化显示。具体步骤包括:1) 在UI中添加功能按钮;2) 将点云数据转换为PCL格式;3) 使用PCL的ConvexHull算法构建三维凸包;4) 计算并显示凸包体积;5) 将结果以点云和网格形式可视化显示。最终实现了点云凸包的自动构建与体积计算功能,为点云处理提供了实用工具。

点云侠的博客 191

【python 猜价格游戏】

python 猜价格游戏

gf1321111的博客 1162

CDD那些事 - DID and SecurityAccess

本文介绍了SecurityAccessSID27的安全访问配置流程:1.通过StateGroups添加Level2群组;2.在Classes定义L2子功能;3.配置4步解锁流程,选择对应解锁等级;4.在DiagnosticInstance设置请求响应。同时说明了DID配置的两种方式:在DIDs页面定义或通过Identification页面创建,前者定义更全面。文章还提到ServiceList支持view/edit模式,其中edit模式可配置DID的多服务支持(如同时支持SID22读取和SID2E写入),但该

ziteng21的博客 255

看商品猜价格:二分法查找 .

实例:看商品猜价格 首先出示一件价格在99元以内的商品,参与者要猜出这件商品的价格。在猜价格的过程中,主持人会根据参与者给出的价格,相应地给出“高了”或“低了”的提示。 如果商品的价格是40 二分法猜商品价格:    次数 价格区间 中间值   第 1 次 0~99 50 高了

hy2011034628的专栏 1537

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

C语言 二分法 猜价格游戏

/* Author Mr.Long * Date 2015年12月2日17:37:47 */ #include #include /* 二分法 */ int main(){ int price,newprice = 0,count = 0; printf("****猜价格游戏****\n"); printf("设置商品价格(0 - 999):"); input: scanf

NotObject 1895

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

二分法猜价格

'//程序用逐步法猜价格 '//假设价格都是整数,没有小数 Sub GP_Step() Dim Price&, i&, Guess&, Step& ' 正确价格,变量,猜想值 Dim Min&, Max& ' 最小值,最大值 Min = 1: Max = 999 With Sheet1 Price = .Cells(3, 1) For i = Min To Max Step = Ste

tedzheng13的博客 1001

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

看商品猜价格

首先出示一件价格在99元以内的商品,参与者要猜出这件商品的价格。在猜价格的过程中,主持人会根据参与者给出的价格,相应地给出“高了”或“低了”的提示。 在用二分法猜价格时,中间值不要求非常准确,取近似就可以了 AC #include <cstdio> #include <cstring> #include <iostream> using namespace std; int main(){ int oldprice,price=0,i=0; cout<&l

小白兔奶糖の博客 1057

算法——二分法试猜商品价格

看商品猜价格 首先出示一件价格在999元以内的商品,参与者要猜出这件商品的价格。在猜价格的过程中,主持人会根据参与者给出的价格,相应地给出“高了”或“低了”的提示。商品实际价格640。 表1-1 二分法猜商品价格 次数 价格区间 中间值 第1次 0-999 500 第2次 500-999 750 第3次 500-750 620 第4次 620-7...

weixin_34292287的博客 639

二分法猜测商品的价格

使用C语言编写这个游戏的竞猜过程,具体代码如下: //二分法猜测商品的真实价格 #include #include #include int main() { int oldprice, price = 0, i = 0; printf("请首先设置商品的真实价格:"); scanf_s("%d", &oldprice); system("cls"); prin

任性的wo的博客 1180

Kotlin 二分法算法游戏--猜价格

本人最新想学习算法,算法是提高程序性能的关键! 程序就是数据结构和算法!写了一个二分法的游戏,供大家参考: 当然,语言基于kotlinimport java.util.*/** * Created by Administrator on 2017/10/18. */ fun main(args: Array<String>) { // println("请输入商品真实价格") //

男儿不展风云志,空有天生八尺躯 1100

二分法猜商品价格 C++

#include&lt;stdio.h&gt; #include &lt;stdlib.h&gt; int main() {int price,oldprice=0,i=0; printf("请输入商品真实价格:" ); scanf("%d,&amp;oldprice"); system("cls"); printf("请输入试猜价格\n"); while(oldprice!=

weixin_36494136的博客 831

二分法及其使用案例

我们都知道二分法是数学中一种重要的求方程近似根的方法,在生活中也有广泛运用。例如:商场促销活动,会举行猜价格活动。在一定的猜测次数内猜中价格,即把该商品赠送给猜价者。同样,在C语言中,二分法的原理依旧适用。...

qq_53742252的博客 5320

二分法详解:用生活例子 + 图示

不断“对半砍”,缩小范围,快速定位目标。只需6步就猜中,最多也只需7步!(从小到大或从大到小)

m0_75034893的博客 3792
上一篇: 操作系统之PV操作实例分析
下一篇: 我们该如何做好导师
wulingmin21
博客等级 码龄17年 97粉丝 70原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值