`
mixer_a
  • 浏览: 368825 次
社区版块
存档分类
最新评论

1—100猜数字

 
阅读更多
问题描述:
小明在[1,100]之间猜数字。规则如下:
1、如果猜的笑了,会提示小明猜的小了。
2、如果猜的大了,只会提示对错,不会提示大小。
3、如果有一次猜的大了,以后猜的无论大小,都只会提示错误,不会提示大小。
问:至少几次可以猜对数字?第一次应该猜那个数字?
解答如下:
假设你猜的第一个数字是x。
那么最少次数最小也要为x,因为第一次如果猜的大了,会提示你猜的大了,你可以确定正确数字的范围是[1,x-1],所以,你最坏需要再猜x-1次,总共也就是x次。如果你第一次猜小了,会提示你猜的小了,你可以确定正确数字的范围是[x+1,100],接下来,你需要猜第二次,同样面临的是猜大还是猜小,猜第二次的时候,你所要关心的问题应该是如果猜的大了,在最坏的情况下,要猜对所需要的次数应该小于等于x-1。正因为如此,你第二次所要猜的数字,最大应该为x+(x-1)。如果猜的比2x-1小的话,可以保证第二次猜的次数小于等于x-1,但从总体考虑,如果第二次猜的数字小于2x-1的话,会增加后面猜的次数。为了最后结果的最优,所以第二次应该猜的数字为2x-1。以此类推,步长每次都比上一次少一次。
下面就是解x的值。猜的次数肯定不能为负数。所以
1+2+3+4+5+……+x=x(x+1)/2>100
最小次数就是上面不等式解的最小正整数,结果为14次,第一次猜14.
分享到:
评论

相关推荐

    猜数字(1到100) java

    编写一个猜数字的游戏,由电脑随机产生一个100以内的整数,让用户去猜。十次还没有猜对的话,游戏结束!

    VisualStudio2008创建的猜数字程序C#源代码,在1-100P之间随机产生一个数字,自动判断范围等功能.

    标题中的“Visual Studio 2008创建的猜数字程序C#源代码”是指使用Microsoft的Visual Studio 2008开发环境,用C#编程语言编写的一个游戏应用。猜数字游戏是一个常见的编程练习,旨在帮助初学者掌握基础的编程概念,...

    JavaScript猜数字小游戏.js

    JavaScript猜数字小游戏

    猜数字游戏的代码

    猜数字游戏。要求: //编写一个Java应用程序,实现下列功能: //1) 程序随机分配给客户一个1—100之间的整数 //2) 用户在输入对话框中输入自己的猜测 //3) 程序返回提示信息,提示信息分别是:“猜大了”、“猜...

    猜数字游戏JSP源码

    1猜数字游戏JSP源码,我也只是一个初学者而已,自己写的最简单的一个小游戏.....

    实现android的简单的猜数字

    server端初始数字为-1,当client第一次猜数字的时候,随机生成一个1~100之间的数字,然后告诉client端猜得是大了,还是小了,还是猜对了. 用户可以根据返回的结果继续猜数字,再次猜数字的时候,Server端使用第一次...

    基于c++的猜数字游戏(源代码+简介+c++学习攻略)

    这是一个简单的猜数字游戏,玩家需要在限定的次数内猜出计算机随机生成的一个1到100之间的数字。每次猜测后,程序会提示玩家猜的数字是太大、太小还是正确。玩家有10次机会来猜中这个数字,如果猜中了,游戏会显示...

    猜数字游戏实验报告.docx

    【猜数字游戏实验报告】 本实验报告主要围绕一个基于C++的猜数字游戏进行,旨在锻炼学生的编程能力和逻辑思维。游戏的基本流程是计算机生成一个随机数,玩家通过一系列提示逐步猜出这个数字。以下是该实验的详细...

    VB经典猜数字小游戏

    【VB经典猜数字小游戏】是一款基于Visual Basic(VB)编程语言开发的智力挑战型软件,它结合了逻辑推理与随机数生成,为玩家提供了一种娱乐性与思考性并存的游戏体验。在这个游戏中,计算机随机生成一个指定范围内的...

    pyhon 猜数字游戏

    将猜一猜的计数变量赋值为0,输入一个数字,利用while循环语句和条件语句的组合去判断输入的数字是否与随机产生的数字一致。 3)实训思路及步骤 ①加载random库,创建一个变量number来存放生产的随机数字,创建变量...

    猜数字小游戏代码JAVA

    猜数字游戏 计算机产生一个随机数,猜中即胜,猜不中提示大了或者小了,继续猜,直到猜中为止。

    c# 猜数字游戏

    《C#实现猜数字游戏详解》 在编程领域,猜数字游戏是一种常见的练习项目,它可以帮助初学者熟悉基本的编程概念,如循环、条件判断、随机数生成等。本篇文章将详细解析用C#语言实现猜数字游戏的过程,旨在帮助读者...

    JSP界面设计--猜数字游戏

    **JSP界面设计--猜数字游戏** 在IT领域,JSP(JavaServer Pages)是一种用于创建动态网页的技术,它结合了HTML和Java代码,使得开发者能够构建交互式的Web应用程序。本项目是一个基于JSP的猜数字游戏,它提供了一个...

    猜数字游戏 源码

    【猜数字游戏源码解析】 猜数字游戏是一种经典的智力挑战游戏,玩家需要根据电脑随机生成的一个数字进行猜测,然后系统会提示玩家猜测的数字是偏大还是偏小,直到玩家猜中为止。在这个名为“猜数字2”的源码中,...

    基于Java写的猜数字

    //用户猜的数字 int number=(int)(Math.random()*100);//0-100的随机数 while(number!=count) { count=Integer.parseInt(JOptionPane.showInputDialog("guess a number between 0 amd 100")); if(number>count)...

    java 猜数字游戏 随机产生一个100以内的正整数

    java小程序。猜数字游戏:随机产生一个100以内的正整数,用户通过键盘输入所猜的数字,并给与相应的提示(有代码详细解释)

    c# 源码 猜数字

    【标题】:“C# 源码:猜数字游戏” 在这个项目中,我们探讨的是一个基于C#编程语言实现的猜数字游戏。猜数字游戏是一个经典的计算机编程练习,旨在帮助初学者理解基本的编程概念,如随机数生成、条件判断、循环...

    作业4 猜数字游戏

    在这个“作业4 猜数字游戏”中,我们看到了一个基于JSP(JavaServer Pages)构建的简单网页应用。这个游戏的逻辑分为两个主要部分:`ex3_index.jsp`和`result.jsp`。下面是对这两个页面的功能和涉及的技术点的详细...

    Java里猜数字游戏代码

    在Java编程世界中,猜数字游戏是一个经典的入门项目,它能帮助初学者更好地理解控制流程、条件判断和随机数生成等基本概念。本教程将详细探讨如何使用Java编写一个简单的猜数字游戏,并涉及JSTL(JavaServer Pages ...

    猜数字游戏(自己生成数字)

    这是一段猜数字游戏的代码,可以自己生成数字(在1~100之间,可以以改范围)。

Global site tag (gtag.js) - Google Analytics